마지막으로 메시지를 대기열에 넣는 활동에 대한 단위 테스트를 작성했습니다. 메시지가 해당 대기열에 놓이면 즉시 메시지 구동 Bean이 처리를 시작합니다. 하지만 단위 테스트에서 MDB를 테스트하고 싶지는 않습니다. OpenEJB에 어떻게 무시할 수 있습니까?MDB를 무시하도록 OpenEJB에 알리기
나는 몇 가지 속성과 OpenEJB를 설정 : 내가 openejb.deployments.classpath.exclude
을 설정해야합니다 알고
p.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.LocalInitialContextFactory");
p.setProperty("openejb.deployments.classpath.include", ".*");
p.setProperty("openejb.localcopy", "false");
// Messaging
p.put("MyJmsResourceAdapter",
"new://Resource?type=ActiveMQResourceAdapter");
// Do not start the ActiveMQ broker
p.put("MyJmsResourceAdapter.BrokerXmlConfig", "");
p.put("MyJmsConnectionFactory",
"new://Resource?type=javax.jms.ConnectionFactory");
p.put("MyJmsConnectionFactory.ResourceAdapter", "MyJmsResourceAdapter");
p.put("queue/MyQueue",
"new://Resource?type=javax.jms.Queue");
, 그러나 나는 올바른 값을 알아낼 수 없습니다 :
p.setProperty("openejb.deployments.classpath.exclude", "org.example.mdb.*");
내 클래스의 이름은 예를 들어를 org.example.mdb.MyMDB
.
이 속성은 클래스 경로의 개별 클래스를 필터링하지 않고 실제 클래스 경로 자체를 필터링합니다. 나는. 항아리와 디렉토리는 배포되는 "모듈"이됩니다.개별 클래스에 include/exclude를 사용하려면 비슷한 기능이 필요합니다. 믿을 수 없을 정도로 유용 할 것입니다. –