If you look at the jms-mdb-sample ear module you can see that we
include the activmq connector in the ear to provide the jms connector
support. This is not too obvious from the project structure since the
activemq connector is not built in the project itself :-)
I actually don't recommend this method any more, I think it makes more
sense to deploy the jms connector separately as it lets you swap jms
configuration between dev/test/production with fewer changes to your
app. I've modified samples trunk to do this with the datasources, but
haven't considered whether to do it for the jms sample as well yet.
Hope this helps
david jencks
On Jun 3, 2008, at 9:39 AM, John wrote:
Hi,
I'm trying to deploy my first Geronimo EAR file without much luck (I
have no
problems with WARs). The EAR contains a single EJB jar file
containing a
single MDB. I have created a separate JMS connection factory and a
destination and bundled the JAR file in the EAR using the following
structure:
EAR
|
-- META-INF/application.xml
-- META-INF/geronimo-application.xml
-- ejb jar
|
-- com/foo/TestMDB.class
-- META-INF/openejb-jar.xml
However, when I try to deploy the app in the console, I am getting
following
error:
Geronimo ear plan contains modules that aren't in the ear: false
I have tried (obviously unsuccessfully) to adapt the jms-mdb-sample
deployment plan for my little "Hello World MDB" deployment and
appreciate
any help I can get in both understanding Geronimo deployment plans and
figuring out my error.
Here is the text of my geronimo-application.xml:
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.2
">
<environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2
">
<moduleId>
<groupId>com.foo</groupId>
<artifactId>ESB</artifactId>
<version>1.0-SNAPSHOT</version>
<type>ear</type>
</moduleId>
</environment>
<module>
<connector>geronimo-activemq-ra-2.0-SNAPSHOT.rar</connector>
<connector
xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
<dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
<dep:moduleId>
<dep:groupId>org.apache.geronimo.samples</
dep:groupId>
<dep:artifactId>jms-resources</dep:artifactId>
<dep:version>1.2</dep:version>
<dep:type>rar</dep:type>
</dep:moduleId>
<dep:dependencies>
<dep:dependency>
<dep:groupId>org.apache.geronimo.configs</dep:groupId>
<dep:artifactId>activemq-broker</
dep:artifactId>
<dep:type>car</dep:type>
</dep:dependency>
</dep:dependencies>
</dep:environment>
<resourceadapter>
<resourceadapter-instance>
<resourceadapter-name>jms-resources</resourceadapter-name>
<nam:workmanager
xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.2">
<nam:gbean-link>DefaultWorkManager</nam:gbean-
link>
</nam:workmanager>
</resourceadapter-instance>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.jms.ConnectionFactory</
connectionfactory-
interface>
<connectiondefinition-instance>
<name>TestConnectionFactory</name>
<implemented-interface>javax.jms.QueueConnectionFactory</implemented-
interfa
ce>
<connectionmanager>
<xa-transaction>
<transaction-caching/>
</xa-transaction>
<single-pool>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
<adminobject>
<adminobject-interface>javax.jms.Queue</adminobject-interface>
<adminobject-class>org.apache.activemq.command.ActiveMQQueue</
adminobject-cl
ass>
<adminobject-instance>
<message-destination-name>TestDestinationQueue</message-destination-
name>
<config-property-setting
name="PhysicalName">TestDestinationQueue</config-property-setting>
</adminobject-instance>
</adminobject>
</connector>
</module>
</application>