Can't load WURFL even though it finds WEB-INF wurfl.xml OK

13230 단어 eclipsejvmtomcatWebxml
Issue
Problem with loading the WURFL
Details
If you encounter an issue with bemokoLive finding the WURFL file after having seen the log statement Initializing web-app from stream with /WEB-INF/wurfl.xml, e.g.
Initializing web-app from stream with /WEB-INF/wurfl.xml
 
... (other log output) ...
 
Last try. Looking for wurfl.xml in temp directory
WURFL not found anywhere
You have 3 possibilities:
- define wurfl.properties in the same directory
  as your application and provide the wurfl.xml path
  ex: wurflpath = file://C:\projects\wurfl\resources\wurfl.xml
 
- place wurfl.xml in either C:\temp (Windows) or /tmp (Unix)
 
In a servlet environment, initFromWebApplication() can be used to initialize
using the wurfl at /WEB-INF/wurfl.xml
 
- the API will also look at the 'wurflpath' System property

then it might indicate that you have not allocated enough memory to the JVM. The Initializing web-app from stream with /WEB-INF/wurfl.xml message indicates that WURFL is loading the device information from the /WEB-INF/wurfl.xml file as intending, but a failure after that is leading to WURFL trying to initialise again. This has been known to happen if the JVM does not have enough available memory.
Resolution
Up the memory of the JVM to at least 512mb, e.g.
JAVA_OPTS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"

      

    、 JVM

    1. JVM :

    -Xmx    Java Heap , 1/4, ;

    -Xms    Java Heap ,Server JVM -Xms -Xmx , JVM ;

    -Xmn    Java Heap Young , ;

    -Xss    Stack , ;

    2. JVM :

    (1) JVM ( Test ):

    java -Xmx128m -Xms64m -Xmn32m -Xss16m Test

    (2) ( eclipse) JVM :

    a. eclipse eclipse.ini, ( JVM ):


       
  1. -vmargs  
  2. -Xms40m  
  3. -Xmx256m 
- vmargs 는 다음 과 같은 가상 컴퓨터 설정 매개 변 수 를 표시 합 니 다. 그 중의 매개 변 수 를 수정 할 수 있 고 - Xmn, - Xss 를 추가 할 수 있 습 니 다. 또한 eclipse. ini 내 에 비 메모리 도 설정 할 수 있 습 니 다. 예 를 들 어 - XX: PermSize = 56m, - XX: MaxPermSize = 128 m.이 설정 한 매개 변수 값 은 개발 도구 의 상태 표시 줄 에 다음 과 같이 설정 할 수 있 습 니 다. eclipse 루트 디 렉 터 리 에 파일 options 를 만 듭 니 다. 파일 내용 은 org. eclipse. ui / perf / show HeapStatus = true 로 eclipse 루트 디 렉 터 리 의 eclipse. ini 파일 을 수정 하고 시작 부분 에 다음 과 같은 내용 을 추가 합 니 다.

       
  1. -debug  
  2. options  
  3. -vm  
  4. javaw.exe 
eclipse 를 다시 시작 합 니 다.아래 상태 가 JVM 정보 가 많아 진 것 을 볼 수 있 습 니 다.b. eclipse - 창 - 첫 번 째 옵션 - 자바 - 설 치 된 JRE (현재 개발 환경 에서 실행 중인 자바 프로그램 에 모두 적용) 를 열 고 현재 사용 하고 있 는 JRE 를 편집 합 니 다. 결 성 된 VM 매개 변수 에 입력 하 십시오. - Xmx128m - Xms64m - Xmn32m - Xss16m c. eclipse - 실행 - 실행 - 자바 응용 프로그램 (설 정 된 자바 클래스 에 만 적용) 에서 메모리 할당 을 설정 할 클래스 - 독립 변 수 를 선택 하 십시오.VM 독립 변수 에 입력: - Xmx128m - Xms64m - Xmn32m - Xss 16m 주: 같은 개발 환경 에서 b 와 c 설정 을 동시에 진행 하면 b 설정 이 유효 하고 c 설정 이 유효 하지 않 습 니 다. 예 를 들 어 개발 환경의 설정 은: - Xmx256m 이 고, 클래스 Test 의 설정 은: - Xmx128m - Xms64m 이 며, Test 를 실행 할 때 유효 하 는 설정 은: - Xmx256m - Xms64m (3) 서버 환경 에서 (예 를 들 어 Tomcat) 입 니 다.JVM 을 시작 하고 사용 할 때 (현재 서버 환경 에서 자바 프로그램 적용): a. 환경 변수 설정: 변수 이름: CATALINAOPTS 변수 값: - Xmx128m - Xms64m - Xmn32m - Xss16m b. Tomcat 루트 디 렉 터 리 에 있 는 bin 폴 더 를 열 고 catalina. bat 를 편집 하여% CATALINAOPTS% (모두 사방) 를 다음 과 같이 바 꿉 니 다. - Xmx128m - Xms64m - Xmn32m - Xss 16m 2. JVM 메모리 정보 Runtime. getRuntime (). max Memory () 설정 보기;  //최대 사용 가능 한 메모리, 대응 - Xmx Runtime. getRuntime (). freeMemory ();  //현재 JVM 남 은 메모리 Runtime. getRuntime (). totalMemory ();  //현재 JVM 이 사용 하고 있 는 메모리 의 총 수 는 현재 JVM 이 사용 하고 있 는 메모리 와 freeMemory () 의 총 값 과 maxMemory (), freeMemory () 와 totalMemory (): maxMemory () 는 JVM 의 최대 사용 가능 한 메모리 입 니 다. - Xmx 설정 을 통 해 기본 값 은 물리 메모리 의 1 / 4 이 고 설정 값 은 컴퓨터 물리 메모리 보다 높 으 면 안 됩 니 다.totalMemory () 는 현재 JVM 이 사용 하고 있 는 메모리 총수 입 니 다. 그 값 은 현재 JVM 이 사용 하고 있 는 메모리 와 freeMemory () 의 합계 에 해당 하 며 JVM 사용 메모리 가 증가 함 에 따라 증가 합 니 다.freeMemory () 는 현재 JVM 의 남 은 메모리 입 니 다. JVM 은 메모리 가 필요 할 때 만 물리 적 메모 리 를 사용 하기 때문에 freeMemory () 의 값 은 일반적으로 작 습 니 다. JVM 의 실제 사용 가능 한 메모 리 는 freeMemory () 가 아니 라 max Memory () - totalMemory () + freeMemory () 와 같 아야 합 니 다.JVM 메모리 할당 설정

좋은 웹페이지 즐겨찾기