rar 파일을 jboss의 배포 폴더에 배치하여 배포합니다. 7. 나중에 war 파일을 배포합니다.JCA ManagedConnectionFactory의 수명주기를 관리하는 방법은 무엇입니까?
이 커넥터는 standalone.xml의 정의에 따라 JNDI 위치에 바인딩됩니다.
배포 될 때 createConnectionFactory (ConnectionManager cm)가 기본적으로 실행됩니다. .
나는 클래스 로더
클래스 로더 contextClassLoader =는 Thread.currentThread() getContextClassLoader()의 도움으로이 방법을 몇 가지 집안일을 할;
I는 contextClassLoader가 null 배포시
문제가 초기 인 EJB를 사용하여 어댑터를 액세스하려고 할 때 createConnectionFactory (ConnectionManager 쓰 cm) 메소드가 다시 실행된다. 나중에 ejb에서 호출 할 때 값을 갖습니다. 효과적으로 내 관리가 실패합니다.
질문이 적절한 동작
createConnectionFactory (ConnectionManager 쓰 cm)가 배치 =>의 시간에 실행된다?
어떻게 배포시이 방법을 실행하지 않도록 ironJacamar/jboss를 구성 할 수 있습니까?
기타 정보 : 제이 보스 AS7, 넷빈즈 7 Jdk1.7
편집 : 은 위의 동작은 올바른 것입니다. 사용하고있는 어댑터는 배포 당시 사용 된 클래스 로더가 런타임에 사용되는 클래스 로더와 동일해야합니다. 기본적으로 Thread.currentThread(). getContextClassLoader()를 사용합니다. ClassLoader를 사용하도록 변경했습니다. cl = MyManagedConnectionFactory.class.getClassLoader();
네가 맞습니다. 사용하고있는 어댑터는 배포 당시 사용 된 클래스 로더가 런타임에 사용되는 클래스 로더와 동일해야합니다. 기본적으로 Thread.currentThread(). getContextClassLoader()를 사용합니다. 사용하도록 변경했습니다. ClassLoader cl = MyManagedConnectionFactory.class.getClassLoader(); –