You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Chad Boyd <ch...@traveltoday.com> on 2006/01/13 18:22:07 UTC

Trouble deploying MDB

I'm having trouble getting an MDB deployed.  I'm using an
application-scoped resource adapter (including it in the EAR).  The
error message I'm getting when running the deploy tool is this:

 Error: Unable to distribute tbook.ear: Unknown resource adapter
    reference

(query=geronimo.server:J2EEApplication=null,J2EEServer=geronimo,j2eeType=JCAResourceAdapter,name=ConnectionFactory,*)

Here are the relevant sections of my jms-resource-plan.xml, ejb-jar.xml,
openejb-jar.xml, geronimo-application.xml and application.xml
descriptors:

jms-resource-plan.xml:

<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector"
configId="ihs-booker-JMSResources"
parentId="org/apache/geronimo/ActiveMQServer">
  <resourceadapter>
    <!-- how to connect to the JMS Server -->
    <resourceadapter-instance>
      <resourceadapter-name>AvailLogger</resourceadapter-name>
      <config-property-setting
name="ServerUrl">tcp://localhost:61616</config-property-setting>
      <workmanager>
		<name>DefaultWorkManager</name>
      </workmanager>
    </resourceadapter-instance>
    <!-- defines a ConnectionFactory -->
    <outbound-resourceadapter>
      <connection-definition>

<connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
        <connectiondefinition-instance>
          <name>ConnectionFactory</name>

<implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>

<implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
          <connectionmanager>
            <xa-transaction>
              <transaction-caching />
            </xa-transaction>
            <single-pool>
              <max-size>10</max-size>
              <min-size>0</min-size>

<blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
              <idle-timeout-minutes>0</idle-timeout-minutes>
              <match-one/>
            </single-pool>
          </connectionmanager>
        </connectiondefinition-instance>
      </connection-definition>
    </outbound-resourceadapter>
  </resourceadapter>
  <!-- defines a Queue -->
  <adminobject>
    <adminobject-interface>javax.jms.Queue</adminobject-interface>

<adminobject-class>org.codehaus.activemq.message.ActiveMQQueue</adminobject-class>
    <adminobject-instance>

<message-destination-name>queue/AvailLoggerQueue</message-destination-name>
      <config-property-setting
name="PhysicalName">queue/AvailLoggerQueue</config-property-setting>
    </adminobject-instance>
  </adminobject>
</connector>

ejb-jar.xml:

<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
    <enterprise-beans>
        ...
        <message-driven>
			<ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
			<ejb-class>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-class>
			<transaction-type>Container</transaction-type>
			<acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
			<message-driven-destination>
				<destination-type>javax.jms.Queue</destination-type>
				<subscription-durability>NonDurable</subscription-durability>
			</message-driven-destination>
		</message-driven>
    </enterprise-beans>
    ...
</ejb-jar>

openejb-jar.xml:

<?xml version="1.0" encoding="utf-8"?>
<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:security="http://geronimo.apache.org/xml/ns/security"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment"
configId="ihs-booker-EJBs">
    <enterprise-beans>
        ...
        <message-driven>

<ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
	        <resource-adapter>
				<resource-link>ConnectionFactory</resource-link>
	        </resource-adapter>        
	        <activation-config>
	        	<activation-config-property>

<activation-config-property-name>destination</activation-config-property-name>

<activation-config-property-value>queue/AvailLoggerQueue</activation-config-property-value>        		
	        	</activation-config-property>
	        	<activation-config-property>

<activation-config-property-name>destinationType</activation-config-property-name>

<activation-config-property-value>javax.jms.Queue</activation-config-property-value>        		
	        	</activation-config-property>
	        </activation-config>  
	   </message-driven>
    </enterprise-beans>
</openejb-jar>

geronimo-application.xml:

<application
xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.0"
configId="ihs-booker">
	<module>
    	<connector>activemq-ra-3.2.1.rar</connector>
     	<alt-dd>jms-resource-plan.xml</alt-dd>
   	</module>
    <module>
        <ejb>tbook-ejb.jar</ejb>
        <alt-dd>openejb-jar.xml</alt-dd>
    </module>
</application>

application.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE
Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
<application>
	<display-name>IHS Booking Engine</display-name>
	<module>
		<web>
			<web-uri>tbook.war</web-uri>
			<context-root>/</context-root>
		</web>
	</module>
	<module>
		<ejb>tbook-ejb.jar</ejb>
	</module>
	<module>
		<connector>activemq-ra-3.2.1.rar</connector>
	</module>
</application>

Re: Trouble deploying MDB

Posted by David Jencks <da...@yahoo.com>.
I think the problem is that you are trying to connect the mdb to the  
outbound connector rather than the resource adapter.  In the openejb  
jar I think you want

>> <ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
>>          <resource-adapter>
>>  <resource-link> AvailLogger </resource-link>
>>          </resource-adapter>


Hope this helps
david jencks



On Jan 13, 2006, at 9:30 AM, Aaron Mulder wrote:

> All your settings look good on the face of it.  From the "query"
> below, it seems like it's looking for the resource adapter at the
> server level and not seeing the one in the same application.  I'm not
> sure why that would be the case.  David J, any ideas?
>
> Thanks,
>     Aaron
>
> On 1/13/06, Chad Boyd <ch...@traveltoday.com> wrote:
>>  I'm having trouble getting an MDB deployed.  I'm using an
>> application-scoped resource adapter (including it in the EAR).   
>> The error
>> message I'm getting when running the deploy tool is this:
>>
>>  Error: Unable to distribute tbook.ear: Unknown resource adapter
>>      reference
>>
>> (query=geronimo.server:J2EEApplication=null,J2EEServer=geronimo,j2eeT 
>> ype=JCAResourceAdapter,name=ConnectionFactory,*)
>>
>>  Here are the relevant sections of my jms-resource-plan.xml, ejb- 
>> jar.xml,
>> openejb-jar.xml, geronimo-application.xml and application.xml  
>> descriptors:
>>
>>  jms-resource-plan.xml:
>>
>>  <connector
>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector"
>> configId="ihs-booker-JMSResources"
>> parentId="org/apache/geronimo/ActiveMQServer">
>>    <resourceadapter>
>>      <!-- how to connect to the JMS Server -->
>>      <resourceadapter-instance>
>>
>> <resourceadapter-name>AvailLogger</resourceadapter-name>
>>        <config-property-setting
>> name="ServerUrl">tcp://localhost:61616</config-property-setting>
>>        <workmanager>
>>  <name>DefaultWorkManager</name>
>>        </workmanager>
>>      </resourceadapter-instance>
>>      <!-- defines a ConnectionFactory -->
>>      <outbound-resourceadapter>
>>        <connection-definition>
>>
>> <connectionfactory-interface>javax.jms.ConnectionFactory</ 
>> connectionfactory-interface>
>>          <connectiondefinition-instance>
>>            <name>ConnectionFactory</name>
>>
>> <implemented-interface>javax.jms.QueueConnectionFactory</ 
>> implemented-interface>
>>
>> <implemented-interface>javax.jms.TopicConnectionFactory</ 
>> implemented-interface>
>>            <connectionmanager>
>>              <xa-transaction>
>>                <transaction-caching />
>>              </xa-transaction>
>>              <single-pool>
>>                <max-size>10</max-size>
>>                <min-size>0</min-size>
>>
>> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>>
>> <idle-timeout-minutes>0</idle-timeout-minutes>
>>                <match-one/>
>>              </single-pool>
>>            </connectionmanager>
>>          </connectiondefinition-instance>
>>        </connection-definition>
>>      </outbound-resourceadapter>
>>    </resourceadapter>
>>    <!-- defines a Queue -->
>>    <adminobject>
>>      <adminobject-interface>javax.jms.Queue</adminobject-interface>
>>
>> <adminobject-class>org.codehaus.activemq.message.ActiveMQQueue</ 
>> adminobject-class>
>>      <adminobject-instance>
>>
>> <message-destination-name>queue/AvailLoggerQueue</message- 
>> destination-name>
>>        <config-property-setting
>> name="PhysicalName">queue/AvailLoggerQueue</config-property-setting>
>>      </adminobject-instance>
>>    </adminobject>
>>  </connector>
>>
>>  ejb-jar.xml:
>>
>>  <?xml version="1.0"?>
>>  <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
>> JavaBeans 1.1//EN'
>> 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
>>  <ejb-jar>
>>      <enterprise-beans>
>>          ...
>>          <message-driven>
>> <ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
>> <ejb-class>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-class>
>>  <transaction-type>Container</transaction-type>
>>  <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
>>  <message-driven-destination>
>>  <destination-type>javax.jms.Queue</destination-type>
>> <subscription-durability>NonDurable</subscription-durability>
>>  </message-driven-destination>
>>  </message-driven>
>>      </enterprise-beans>
>>      ...
>>  </ejb-jar>
>>
>>  openejb-jar.xml:
>>
>>  <?xml version="1.0" encoding="utf-8"?>
>>  <openejb-jar
>> xmlns="http://www.openejb.org/xml/ns/openejb-jar"
>> xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
>> xmlns:security="http://geronimo.apache.org/xml/ns/security"
>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment"
>> configId="ihs-booker-EJBs">
>>      <enterprise-beans>
>>          ...
>>          <message-driven>
>>
>> <ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
>>          <resource-adapter>
>>  <resource-link>ConnectionFactory</resource-link>
>>          </resource-adapter>
>>          <activation-config>
>>          <activation-config-property>
>>
>> <activation-config-property-name>destination</activation-config- 
>> property-name>
>>
>> <activation-config-property-value>queue/AvailLoggerQueue</ 
>> activation-config-property-value>
>>
>>          </activation-config-property>
>>          <activation-config-property>
>>
>> <activation-config-property-name>destinationType</activation- 
>> config-property-name>
>>
>> <activation-config-property-value>javax.jms.Queue</activation- 
>> config-property-value>
>>
>>          </activation-config-property>
>>          </activation-config>
>>     </message-driven>
>>      </enterprise-beans>
>>  </openejb-jar>
>>
>>  geronimo-application.xml:
>>
>>  <application
>> xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.0"
>> configId="ihs-booker">
>>  <module>
>>      <connector>activemq-ra-3.2.1.rar</connector>
>>       <alt-dd>jms-resource-plan.xml</alt-dd>
>>     </module>
>>      <module>
>>          <ejb>tbook-ejb.jar</ejb>
>>          <alt-dd>openejb-jar.xml</alt-dd>
>>      </module>
>>  </application>
>>
>>  application.xml:
>>
>>  <?xml version="1.0" encoding="UTF-8"?>
>>  <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE
>> Application 1.3//EN"
>> "http://java.sun.com/dtd/application_1_3.dtd">
>>  <application>
>>  <display-name>IHS Booking Engine</display-name>
>>  <module>
>>  <web>
>>  <web-uri>tbook.war</web-uri>
>>  <context-root>/</context-root>
>>  </web>
>>  </module>
>>  <module>
>>  <ejb>tbook-ejb.jar</ejb>
>>  </module>
>>  <module>
>>  <connector>activemq-ra-3.2.1.rar</connector>
>>  </module>
>>  </application>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.1 (GNU/Linux)
>>
>> iD8DBQBDx+G/+D9PVFWNrJ0RAmOTAJwPV7agWSqFETurwWVncry0eFGgYwCeMU8/
>> MI7n3FkJ0JI5DVuJ7kGe//Q=
>> =DVIC
>> -----END PGP SIGNATURE-----
>>
>>
>>


Re: Trouble deploying MDB

Posted by Aaron Mulder <am...@alumni.princeton.edu>.
All your settings look good on the face of it.  From the "query"
below, it seems like it's looking for the resource adapter at the
server level and not seeing the one in the same application.  I'm not
sure why that would be the case.  David J, any ideas?

Thanks,
    Aaron

On 1/13/06, Chad Boyd <ch...@traveltoday.com> wrote:
>  I'm having trouble getting an MDB deployed.  I'm using an
> application-scoped resource adapter (including it in the EAR).  The error
> message I'm getting when running the deploy tool is this:
>
>  Error: Unable to distribute tbook.ear: Unknown resource adapter
>      reference
>
> (query=geronimo.server:J2EEApplication=null,J2EEServer=geronimo,j2eeType=JCAResourceAdapter,name=ConnectionFactory,*)
>
>  Here are the relevant sections of my jms-resource-plan.xml, ejb-jar.xml,
> openejb-jar.xml, geronimo-application.xml and application.xml descriptors:
>
>  jms-resource-plan.xml:
>
>  <connector
> xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector"
> configId="ihs-booker-JMSResources"
> parentId="org/apache/geronimo/ActiveMQServer">
>    <resourceadapter>
>      <!-- how to connect to the JMS Server -->
>      <resourceadapter-instance>
>
> <resourceadapter-name>AvailLogger</resourceadapter-name>
>        <config-property-setting
> name="ServerUrl">tcp://localhost:61616</config-property-setting>
>        <workmanager>
>  <name>DefaultWorkManager</name>
>        </workmanager>
>      </resourceadapter-instance>
>      <!-- defines a ConnectionFactory -->
>      <outbound-resourceadapter>
>        <connection-definition>
>
> <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
>          <connectiondefinition-instance>
>            <name>ConnectionFactory</name>
>
> <implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
>
> <implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
>            <connectionmanager>
>              <xa-transaction>
>                <transaction-caching />
>              </xa-transaction>
>              <single-pool>
>                <max-size>10</max-size>
>                <min-size>0</min-size>
>
> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>
> <idle-timeout-minutes>0</idle-timeout-minutes>
>                <match-one/>
>              </single-pool>
>            </connectionmanager>
>          </connectiondefinition-instance>
>        </connection-definition>
>      </outbound-resourceadapter>
>    </resourceadapter>
>    <!-- defines a Queue -->
>    <adminobject>
>      <adminobject-interface>javax.jms.Queue</adminobject-interface>
>
> <adminobject-class>org.codehaus.activemq.message.ActiveMQQueue</adminobject-class>
>      <adminobject-instance>
>
> <message-destination-name>queue/AvailLoggerQueue</message-destination-name>
>        <config-property-setting
> name="PhysicalName">queue/AvailLoggerQueue</config-property-setting>
>      </adminobject-instance>
>    </adminobject>
>  </connector>
>
>  ejb-jar.xml:
>
>  <?xml version="1.0"?>
>  <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
> JavaBeans 1.1//EN'
> 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
>  <ejb-jar>
>      <enterprise-beans>
>          ...
>          <message-driven>
> <ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
> <ejb-class>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-class>
>  <transaction-type>Container</transaction-type>
>  <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
>  <message-driven-destination>
>  <destination-type>javax.jms.Queue</destination-type>
> <subscription-durability>NonDurable</subscription-durability>
>  </message-driven-destination>
>  </message-driven>
>      </enterprise-beans>
>      ...
>  </ejb-jar>
>
>  openejb-jar.xml:
>
>  <?xml version="1.0" encoding="utf-8"?>
>  <openejb-jar
> xmlns="http://www.openejb.org/xml/ns/openejb-jar"
> xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
> xmlns:security="http://geronimo.apache.org/xml/ns/security"
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment"
> configId="ihs-booker-EJBs">
>      <enterprise-beans>
>          ...
>          <message-driven>
>
> <ejb-name>com.tbook.supplier.hotel.log.AvailLoggerMDB</ejb-name>
>          <resource-adapter>
>  <resource-link>ConnectionFactory</resource-link>
>          </resource-adapter>
>          <activation-config>
>          <activation-config-property>
>
> <activation-config-property-name>destination</activation-config-property-name>
>
> <activation-config-property-value>queue/AvailLoggerQueue</activation-config-property-value>
>
>          </activation-config-property>
>          <activation-config-property>
>
> <activation-config-property-name>destinationType</activation-config-property-name>
>
> <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
>
>          </activation-config-property>
>          </activation-config>
>     </message-driven>
>      </enterprise-beans>
>  </openejb-jar>
>
>  geronimo-application.xml:
>
>  <application
> xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-1.0"
> configId="ihs-booker">
>  <module>
>      <connector>activemq-ra-3.2.1.rar</connector>
>       <alt-dd>jms-resource-plan.xml</alt-dd>
>     </module>
>      <module>
>          <ejb>tbook-ejb.jar</ejb>
>          <alt-dd>openejb-jar.xml</alt-dd>
>      </module>
>  </application>
>
>  application.xml:
>
>  <?xml version="1.0" encoding="UTF-8"?>
>  <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE
> Application 1.3//EN"
> "http://java.sun.com/dtd/application_1_3.dtd">
>  <application>
>  <display-name>IHS Booking Engine</display-name>
>  <module>
>  <web>
>  <web-uri>tbook.war</web-uri>
>  <context-root>/</context-root>
>  </web>
>  </module>
>  <module>
>  <ejb>tbook-ejb.jar</ejb>
>  </module>
>  <module>
>  <connector>activemq-ra-3.2.1.rar</connector>
>  </module>
>  </application>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
>
> iD8DBQBDx+G/+D9PVFWNrJ0RAmOTAJwPV7agWSqFETurwWVncry0eFGgYwCeMU8/
> MI7n3FkJ0JI5DVuJ7kGe//Q=
> =DVIC
> -----END PGP SIGNATURE-----
>
>
>