ssh 프로젝트 가 weblogic 에 배 치 된 문제 요약

8413 단어 weblogic
웹 logic 에 배치 하 는 것 은 비교적 힘 들 지만, 기본적으로 문 제 는 모두 classloader 순서 문제 로 인 한 것 이다.
우선 웹 - inf 에 웹 logic. xml 파일 을 추가 하면 다음 과 같 습 니 다.
<?xml version="1.0" encoding="UTF-8"?>   
<weblogic-web-app   
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">   
<container-descriptor>   
<index-directory-enabled>true</index-directory-enabled>   
<!--   !!!   web-inf  jar  -->   
<prefer-web-inf-classes>true</prefer-web-inf-classes>   
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>  
</container-descriptor>   
</weblogic-web-app>   

 프로젝트 에 있 는 jar 패 키 지 를 먼저 불 러 오고 프로젝트 jar 패키지 와 weblogic 에서 jar 패키지 가 충돌 하지 않도록 합 니 다. 절대 경로 로 불 러 오고 spring 프로필 에서 classpath 가 실 행 될 수 있 도록 합 니 다.
 
웹 logic 에 antlr - 2.7.6. jar 패키지 추가
오류 예방: 조 회 를 할 때 보고 합 니 다.  org. hibernate. QueryException: ClassNotFoundException: org. hibernate. hql. ast. HqlToken  오류
 
1.Could not load user defined filter in web.xml: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.
2.No bean named 'sessionFactory' is defined
상기 문제 발생 원인: weblogic 의 웹. xml 는 마스크 의 작성 을 지원 하지 않 습 니 다. 예 를 들 어:

contextConfigLocation
classpath:applicationContext*.xml

 
해결 방법:
다음으로 변경:
  contextConfigLocation  classpath:applicationContext-common.xml 
디 렉 터 리 를 모두 쓰 고 어댑터 는 지원 되 지 않 습 니 다.
 
3. 배치 후 자바. lang. ClassCastException: weblogic. xml. jaxp. RegistrySAXTransformerFactory 를 javax. xml. transformerFactory 에 캐 스 트 할 수 없습니다. TransformerFactory
            이 오 류 는 몇 가지 설 이 있 습 니 다. 한 외국인 댓 글 에 xml 로 해 석 된 jar 가방 을 제거 하 겠 다 고 했 습 니 다.
* xercesImpl-2.9.1.jar
* xml-apis-1.3.04.jar* xmlParserAPIs-2.0.2.jar
 
댓 글 하나 더 찾았어 요. http://hi.baidu.com/zhoushugen/blog/item/27e1caf71bbc0024730eecdc.html apache 홈 페이지 에 최신 xalan 가방 을 다운로드 하여 lib 아래 의 가방 을 교체 하 라 고 합 니 다.
 
나 는 두 번 째 방법 으로 해결 했다.
 
dbcp 오류, 이 문 제 는 바보 같 습 니 다. 처음에 tomcat 로 뛰 었 기 때문에 데이터베이스 연결 탱크 는 dbcp 를 사 용 했 습 니 다. weblogic 를 바 꾼 후에 jndi 로 맞 추 는 것 을 잊 었 습 니 다.해결 방법 은 매우 간단 하 다. 게다가 spring 의 jndi 는 datasource 를 찾 으 면 된다. 예 를 들 어  

 
weblogic 보안 문제 로 인해 다음 과 같은 오류 가 발생 할 수 있 습 니 다. invalid subject. principles [weblogic, Administrators]. 그러면 설정 은 다음 과 같이 작성 해 야 합 니 다.
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactoryjava.naming.provider.url=t3://yourhost:yourportjava.naming.security.principal=yourprincipaljava.naming.security.credentials=yourcredentials
 
또한 setDomainEnv. sh 에 WLS 를 설정 해 야 합 니 다.JDBC_REMOTE_ENABLED = "- Dweblogic. jdbc. remoteEnabled = true", 기본 값 은 false
 
cxf 는 weblogic 에 배치 되 었 습 니 다. 이것 은 제 가 가장 오 랜 시간 동안 해결 한 문제 입 니 다. 어떤 실 수 는 매우 기괴 합 니 다.해 결 됐 지만 왜 일 어 났 는 지 모 르 겠 어 요.
앞에서 언급 한 버 전 은 제 가 weblogic 10.3.0 에 배 치 했 을 때 조금도 틀 리 지 않 았 고 10.3.2 와 10.3.3 에 배치 되 었 기 때 문 입 니 다.cxf 공식 적 으로 도 weblogic 에 어떻게 배치 하 는 지 에 대한 설명 이 있 습 니 다. 안 타 깝 게 도 weblogic 9.2 만 검 증 했 습 니 다. 적어도 저 는 그 설정 에 따라 아무런 효과 가 없습니다.
 
1、java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName class
 
이 문 제 를 오랫동안 검색 한 결과 해결 의 영감 은 http://www.blogjava.net/security/archive/2008/07/06/java_lang_LinkageError_Problem.html 에서 나 왔 다.
나 는 내 항목 에 QName 이 포 함 된 클래스 를 찾 은 jar, jaxrpc. jar 입 니 다. 안에 있 는 QName 클래스 를 지 웠 습 니 다. (이렇게 하면 좋 지 않 을 것 같 습 니 다)
 
2、org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
 
이 잘못 은 매우 신기 합 니 다. 저 는 하루 가 넘 게 했 기 때문에 제 가 사용 하 는 comons - logging 버 전과 weblogic 가 사용 하 는 것 이 다르다 고 생각 했 습 니 다. 그래서 이 잘못 이 발생 했 습 니 다. 그리고 weblogic 디 렉 터 리 에 있 는 모든 버 전의 comons - logging 을 제 프로젝트 로 바 꾸 었 습 니 다. 모두 안 됩 니 다. 외국 포럼 의 거리 와 골목 을 샅 샅 이 뒤 졌 지만 결과 가 하나 도 없습니다.나중에 이상 stack 을 자세히 살 펴 보 니 그 안에 spring. orm 이 던 진 정보 가 포함 되 어 있 습 니 다. 제 가 배치 한 것 은 아주 간단 한 cxf 프로젝트 일 뿐 그 어떠한 orm 프레임 워 크 도 포함 되 어 있 지 않 습 니 다. 설정 도 한 번 검 사 했 고 orm 에 어 울 리 지 않 았 습 니 다. 왜 이상 이 여기 서 던 졌 습 니까?마지막 으로 제 가 @ Autowired 와 @ Component 주 해 를 사용 하여 자동 주입 을 했 기 때 문 이라는 것 을 알 게 되 었 습 니 다. 그런데 잘 모 르 겠 습 니 다. 저도 그냥 plain 을 주 입 했 을 뿐 입 니 다.  javabean, 왜 @ Autowired 와 @ Component 를 사용 하 는 지, 이상 이 orm 에 나타 날 수 있 습 니 다. 그리고 저 는 spring - orm - 2.5.6. jar 를 lib 에 버 리 고 한 번 배치 하면 이 comons - logging 의 오류 가 사라 집 니 다.정말 신기 한 잘못 이다.(땀 을 흘 리 며)
 
3、java.lang.NoSuchMethodException: oracle .j2ee .ws .wsdl .extensions .soap .SOAPBindingImpl .getElementType()
 
이 오류 도 오랫동안 검색 되 었 지만 직접적인 해결 방안 을 찾 지 못 했 습 니 다. 마지막 으로 스스로 모색 하여 해결 하 였 습 니 다. cxf 는 wdl4j. jar 를 사용 하고 제 weblogic 에 webcenter 미들웨어 를 설치 한 다음 MWHOME 아래 에 oracle 이 하나 더 있어 요.common 디 렉 터 리, 이 디 렉 터 리 아래 하위 디 렉 터 리 에 orawsdl. jar 라 는 jar 가 있 습 니 다. 위 에서 설명 한 oracle. j2ee. ws. wdl. extensions. soap. SOAPBindingImpl 클래스 가 있 습 니 다. 해결 방법 은 startWeblogic. sh 파일 을 편집 하고 wsdl4j. jar 를 weblogic 자신의 CLASSPATH 앞 에 추가 하면 이 오류 가 발생 하지 않 습 니 다.
 
 
질문
 
 
이 인터넷 에는 많은 설명 이 있 지만 대부분 구 버 전의 weblogic, 인터넷 에서 유행 하 는 표기 법 인 것 같 습 니 다.
 
weblogic. xml 에 다음 설정 을 추가 합 니 다:


PersistentStoreType
replicated


 
 
weblogic11g 의 작성 방법 은:
replicatedtrue
 
이것 은 다른 버 전의 DTD 와 관련 이 있 을 것 이다.
 
지속 적 으로 필요 한 session 의 내용 은 자바. io. Serializable 인 터 페 이 스 를 실현 해 야 합 니 다. 그렇지 않 으 면 복사 할 수 없습니다.
 
서로 다른 웹 logic 에서 자원 의 원 격 조회 와 안전 문제
 
이 문 제 는 해결 할 수 있 지만 다른 문 제 를 일 으 킬 수 있 습 니 다. 제 프로젝트 에서 저 는 3 개의 weblogic 가 있 고 하 나 는 Oacle bpm10g 을 배 치 했 습 니 다.
또한 2 개의 b 와 c 는 클 러 스 터 를 통 해 Oacle webcenter11g 을 배 치 했 습 니 다. b 에는 클 러 스 터 관리 서버 가 포함 되 어 있 습 니 다. webcenter 프로젝트 에서 bpm 의 topic 를 원 격 으로 찾 아야 합 니 다. ADF Security 를 추가 하지 않 으 면 오류 가 발생 하지 않 지만 ADF Security 를 추가 하면... invalid subject.. principles [xxxx, xxxx] 의 오류 가 발생 합 니 다.현재 저 는 웹 logic 의 전역 신뢰 기능 을 사용 하여 원 격 검색 문 제 를 잠시 해결 하고 있 습 니 다.
그러나 새로운 문제 가 발생 했 습 니 다. 이 문 제 는 매우 이상 합 니 다. 전역 신뢰 를 사용 한 후에 b 의 관리 서버 는 a 의 domain 정 보 를 언제 읽 을 지 모 릅 니 다. 이것 이 발생 하면 b 의 domain 설정 을 바 꾸 려 면 b 의 관리 서버 를 다시 시작 하고 다시 등록 해 야 합 니 다.이 문 제 는 내 가 매우 잘 모 르 고 언제 발생 할 지 모 르 며, 때로는 정확하게 읽 고, 때로는 정확 하지 않다.아직 해결 할 방법 이 없다.

좋은 웹페이지 즐겨찾기