java.lang.OutOfMemoryError: PermGen space

이클립스의 톱켓에 다음과 같은 옵션을 추가 한다.


-XX:PermSize=256m -XX:MaxPermSize=256m


이클립스에서

servers 탭의 해당하는 tomcat 선택 후 -> F3 -> Overview - General Information 하단의 Open launch configuration 클릭 후

Edit Configuration 창의 Arguments 탭을 선택 후 VM arguments: 입력란의 마지막 라인에

-XX:PermSize=256m -XX:MaxPermSize=256m


2015/10/08 16:31 2015/10/08 16:31
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/694

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/694

workspace의 .settings디렉토리의 org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>

<faceted-project>

  <runtime name="Apache Tomcat v7.0"/>

  <fixed facet="wst.jsdt.web"/>

  <installed facet="java" version="1.7"/>

  <installed facet="jst.web" version="3.0"/>

  <installed facet="wst.jsdt.web" version="1.0"/>

</faceted-project>
--확인 --

web.xml 파일 확인

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

version="2.5">


<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">


2015/10/07 10:19 2015/10/07 10:19
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/693

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/693

두가지 경우 모두 maven dependency를 등록해주면 된다.
 
프로젝트 >> properties >> Deployment Assembly를 선택한 후,
"Add" >> Java Build Path Entries >> Maven Dependencies 선택한 후, "Apply"를 해준다.


그래도 에러가 사라지지 않는다면

에러코드를 마우스 오른쪽 버튼 누르고 삭제 하면 해결됨
2015/05/08 11:45 2015/05/08 11:45
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/683

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/683

tomcat out of memory exception

JSP, JAVA RSS Icon ATOM Icon 2015/04/24 15:51 visualp
create file from /usr/local/tomcat/bin/setenv.sh
chmod 707 setenv.sh

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=512m"

java out of memeory  문제 해결 방법

2015/04/24 15:51 2015/04/24 15:51
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/677

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/677

<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.3.2</version>
  </dependency>


디버깅 할 때 클래스 객체를 스트링으로 변환해서 출력 해주는 util
  vo 클레스에 추가 한다.

   @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    }

baseVO를 만들고 해당 vo에 추가한다.
2015/02/23 17:32 2015/02/23 17:32
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/670

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/670

//java save data as image from image url

public static void image_download(String turl, String fname) throws Exception{
   URL url = new URL(turl);
   InputStream in = new BufferedInputStream(url.openStream());
   ByteArrayOutputStream out = new ByteArrayOutputStream();
   byte[] buf = new byte[1024];
   int n = 0;
   while (-1!=(n=in.read(buf)))
   {
      out.write(buf, 0, n);
   }
  
   out.close();
   in.close();
   byte[] response = out.toByteArray();
  
   FileOutputStream fos;
   fos = new FileOutputStream(fname);
   fos.write(response);
   fos.close();
 }
2015/02/12 16:36 2015/02/12 16:36
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/668

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/668

jstl 내림, 올림, 반올림

JSP, JAVA RSS Icon ATOM Icon 2015/01/07 19:15 visualp
c:set var="pages" value="${totalCnt/rowsPerPage}" />

 

내림 : ${pages-(pages%1)}

올림 : ${pages+(1-(pages%1))%1}

반올림 : ${pages+((pages%1>0.5)?(1-(pages%1))%1:-(pages%1))}

2015/01/07 19:15 2015/01/07 19:15
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/662

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/662

spring 3.2, mobile detect

JSP, JAVA RSS Icon ATOM Icon 2015/01/07 11:39 visualp
dev-tool  : sts
spring - version 3.2.x

when i use spring-mobile-device then  
error ocured fallowing
"Could not instantiate bean class [org.springframework.mobile.device.Device]: Specified class is an interface] with root cause"

i try to solved this problem , 
example : https://spring.io/guides/gs/device-detection/ 
 
but 

same error occoured..


 .. search and more .. google...

1.  pom.xml <-- inject to dependency

<dependency>
   <groupId>org.springframework.mobile</groupId>
   <artifactId>spring-mobile-device</artifactId>
   <version>1.1.3.RELEASE</version>
  </dependency>

2. web.xml  <--add  filter config

<!--device filter_start() -->
 <filter>
        <filter-name>deviceResolverRequestFilter</filter-name>
        <filter-class>org.springframework.mobile.device.DeviceResolverRequestFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>deviceResolverRequestFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 <!--device filter_end() -->

3. using like this ... (controller)
 
 if( DeviceUtils.getCurrentDevice(request).isMobile() ||  DeviceUtils.getCurrentDevice(request).isTablet() ){
   model.addAttribute("is_mobile", true);
  }else{
   model.addAttribute("is_mobile", false);
  }



2015/01/07 11:39 2015/01/07 11:39
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/661

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/661

spring 3.2 부터
<exclude-mapping path="/login/**/"/>추가 되었습니다.
3.1 버전은 에러 발생 ..
pom.xml에서 spring 버전을 변경 합니다.
<!--
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
-->
<org.springframework-version>3.2.2.RELEASE</org.springframework-version>

sts tool을 이용하여 작업시 위 사항들을 유의 합니다.
<mapping path="/**/"/>  로그인 인터셉터를 사용하기 위해서 모든 url을 로그인 체크를 합니다.
<exclude-mapping path="/login/**/"/>로그인 페이지는 로그인을 누구나 할 수 있도록 해야 하기 때문에 intercepter에서 체크 할 대 제외 시킵니다.

[example]
<interceptors>
  <interceptor>
   <mapping path="/**/"/>
   <exclude-mapping path="/login/**/"/>
   <exclude-mapping path="/resources/**/"/>
   <beans:ref bean="LoginInterceptor"/>
  </interceptor>
 </interceptors>
2015/01/06 10:48 2015/01/06 10:48
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/660

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/660

add follow pom.xml

<dependency>
  <groupId>org.json</groupId>
  <artifactId>json</artifactId>
  <version>20140107</version>
</dependency>

version is 20140107 <-- jdk 6 compiled ...
and higher version is occured error

[useable]
wirte this sentense to  youer controller and define  @ResponseBody anotation 
becouse @ResponseBody =>  noting header and nothing footer  , only body

@RequestMapping(value = "/code/code_get_json", produces="text/plain;charset=UTF-8" ,  method = RequestMethod.GET)
 public @ResponseBody String code_get_json(@RequestParam("cd_pid") String cd_pid){
  ArrayList<CodeVO> codelist   = null ;
  codelist = (ArrayList<CodeVO>)codeService.code_list(cd_pid);
  JSONArray json = new JSONArray(codelist);
  return json.toString();
 }

[refference]
https://github.com/douglascrockford/JSON-java


2014/12/31 11:48 2014/12/31 11:48
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/659

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/659