最終的にメッセージをキューに入れるアクティビティの単体テストを作成しました。メッセージがそのキューに入れられるとすぐに、メッセージ駆動型 Bean が処理を開始します。しかし、単体テストで MDB をテストしたくありません。それらを無視するように OpenEJB に指示するにはどうすればよいですか?
いくつかのプロパティを使用して OpenEJB をセットアップしました。
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");
を設定する必要があることはわかってopenejb.deployments.classpath.exclude
いますが、正しい値がわかりません。
p.setProperty("openejb.deployments.classpath.exclude", "org.example.mdb.*");
たとえば、私のクラスの名前はorg.example.mdb.MyMDB
.