geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stella Lok" <oinvertedwo...@gmail.com>
Subject Re: Accessing JMS Resources From J2EE Application Client
Date Wed, 23 Jul 2008 09:03:07 GMT
Hi,

I have solved the external-rar problem by configuring it as follows:
<external-rar>
              <dep:groupId>org.apache.geronimo.modules</dep:groupId>
              <dep:artifactId>geronimo-activemq-ra</dep:artifactId>
              <dep:version>2.0.2</dep:version>
              <dep:type>rar</dep:type>
 </external-rar>

However, now I get this error:
Error: Unable to distribute MyAppClient.jar: Can not load activation
    spec class
        org.apache.activemq.ra.ActiveMQActivationSpec in classloader
    console.jms/topic/1.0/rar

When I check the repository folder, a console.jms/topic/1.0/rar folder was
created upon deploying the app client, but it's empty. How can I solve this
problem?  console.jms/topic/1.0/rar is the server-side resource adapter in
which I created my JMS resources.

Thanks for your help

Yours Sincerely,
Stella

On Wed, Jul 23, 2008 at 4:43 PM, Stella Lok <oinvertedworld@gmail.com>
wrote:

> Hi,
>
> Thanks so much for letting me know I'm on the right track. How may I find
> the activemq rar file in the geronimo repository?
>
> I have tried pointing the external-rar to:
>      <external-rar>
>               <dep:groupId>org.apache.activemq</dep:groupId>
>               <dep:artifactId>activemq-core</dep:artifactId>
>               <dep:version>4.1.1</dep:version>
>               <dep:type>jar</dep:type>
>         </external-rar>
> but I get a null pointer exception in deploying. I'm wondering whether it
> is valid to point to that file as it is not a resource adapter or a module,
> but just a jar file residing in
> repository/org/apache/activemq/activemq-core/4.1.1/activemq-core-4.1.1.jar ?
> I cannot find any other activemq file in the repository folder. I also
> couldn't find an example in the 2.0.2 daytrader application. There is a
> reference in the older samples, but it is based on an older schema where
> external-rar is of type string.
>
> Any help would be much appreciated
>
> Sincerely,
> Stella
>
>
> On Wed, Jul 23, 2008 at 1:29 AM, David Jencks <david_jencks@yahoo.com>
> wrote:
>
>> You are correct that you need to deploy the resource adapter on the app
>> client as well as the server.  I think the problem is that your external-rar
>> tag is pointing to the server's broker configuration rather than the
>> actibvemq rar file in the geronimo repository.
>> I think there's correct configuration in one of the daytrader app clients.
>>
>> This would make a great subject for a wiki page (I haven't searched much,
>> maybe there already is one?)
>>
>> thanks
>> david jencks
>>
>> On Jul 22, 2008, at 2:47 AM, Stella Lok wrote:
>>
>> Hi,
>>
>> I am trying to access a server-scoped JMS TopicConnectionFactory and Topic
>> on Geronimo 2.02, from a J2EE Application Client, but am encountering
>> problems. Here are the steps I took:
>>
>> 1) Deployed JMS TopicConnectionFactory & Topic in Resource Adapter:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <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>console.jms</dep:groupId>
>>             <dep:artifactId>topic</dep:artifactId>
>>             <dep:version>1.0</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>eventTopicResourceAdapter</resourceadapter-name>
>>         <config-property-setting
>>         name="ServerUrl">tcp://localhost:61616</config-property-setting>
>>         <config-property-setting
>> name="UserName">system</config-property-setting> <config-property-setting
>>      name="Password">manager</config-property-setting>
>>             <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.TopicConnectionFactory</connectionfactory-interface>
>>                 <connectiondefinition-instance>
>>                     <name>jms/topicConnectionFactory</name>
>>                     <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-class>
>>     </adminobject>
>>     <adminobject>
>>         <adminobject-interface>javax.jms.Topic</adminobject-interface>
>>
>> <adminobject-class>org.apache.activemq.command.ActiveMQTopic</adminobject-class>
>>         <adminobject-instance>
>>             <message-destination-name>topic</message-destination-name>
>>             <config-property-setting
>> name="PhysicalName">topic</config-property-setting>
>>         </adminobject-instance>
>>     </adminobject>
>> </connector>
>>
>> 2) I created a dummy J2EE application client with the following deployment
>> descriptors:
>> *application.xml*:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <application-client version="5" xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/application-client_5.xsd">
>>     <resource-ref>
>>         <res-ref-name>jms/topicConnectionFactory</res-ref-name>
>>         <res-type>javax.jms.TopicConnectionFactory</res-type>
>>         <res-auth>Container</res-auth>
>>         <res-sharing-scope>Shareable</res-sharing-scope>
>>     </resource-ref>
>>     <message-destination-ref>
>>         <message-destination-ref-name>topic</message-destination-ref-name>
>>
>> <message-destination-type>javax.jms.Topic</message-destination-type>
>>         <message-destination-usage>Consumes</message-destination-usage>
>>         <message-destination-link>topic</message-destination-link>
>>     </message-destination-ref>
>>     <message-destination>
>>         <message-destination-name>topic</message-destination-name>
>>     </message-destination>
>> </application-client>
>>
>> and *geronimo-application-client.xml:*
>> <?xml version="1.0" encoding="UTF-8"?>
>>
>> <application-client xmlns="
>> http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0"
>>   xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"
>>   xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
>>   xmlns:security="http://geronimo.apache.org/xml/ns/security-2.0"
>>   xmlns:connector="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
>>
>>   <dep:client-environment>
>>     <dep:moduleId>
>>       <dep:groupId>client</dep:groupId>
>>       <dep:artifactId>jmsClient</dep:artifactId>
>>       <dep:version>1</dep:version>
>>       <dep:type>car</dep:type>
>>     </dep:moduleId>
>>     <dep:dependencies/>
>>     <dep:hidden-classes/>
>>     <dep:non-overridable-classes/>
>>   </dep:client-environment>
>>   <dep:server-environment>
>>     <dep:moduleId>
>>       <dep:groupId>console.jms</dep:groupId>
>>       <dep:artifactId>topic</dep:artifactId>
>>       <dep:version>1.0</dep:version>
>>       <dep:type>rar</dep:type>
>>     </dep:moduleId>
>>     <dep:dependencies/>
>>     <dep:hidden-classes/>
>>     <dep:non-overridable-classes/>
>>   </dep:server-environment>
>>   <resource-ref>
>>    <ref-name>jms/topicConnectionFactory</ref-name>
>>     <resource-link>jms/topicConnectionFactory</resource-link>
>>   </resource-ref>
>>   <message-destination>
>>     <message-destination-name>topic</message-destination-name>
>>     <admin-object-link>topic</admin-object-link>
>>   </message-destination>
>>   <resource>
>>         <external-rar>
>>               <dep:groupId>org.apache.geronimo.configs</dep:groupId>
>>               <dep:artifactId>activemq-broker</dep:artifactId>
>>               <dep:version>2.0.2</dep:version>
>>               <dep:type>car</dep:type>
>>         </external-rar>
>>
>>         <connector xmlns="
>> http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
>>         <resourceadapter>
>>             <resourceadapter-instance>
>>                 <resourceadapter-name>ActiveMQ RA</resourceadapter-name>
>>                 <config-property-setting name="ServerUrl">tcp://
>> 172.168.29.227:61616</config-property-setting>
>>                 <config-property-setting
>> name="UserName">system</config-property-setting>
>>                 <config-property-setting
>> name="Password">manager</config-property-setting>
>>                 <workmanager>
>>                     <gbean-link>DefaultWorkManager</gbean-link>
>>                 </workmanager>
>>                 </resourceadapter-instance>
>>                  <outbound-resourceadapter>
>>                  <connection-definition>
>>
>> <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
>>
>>                      <connectiondefinition-instance>
>>                      <name>jms/topicConnectionFactory</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>
>> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>> <match-one/>  </single-pool>  </connectionmanager>
>> </connectiondefinition-instance>  </connection-definition>
>> </outbound-resourceadapter>
>>
>>                  </resourceadapter>
>>
>> <adminobject>
>>     <adminobject-interface>javax.jms.Topic</adminobject-interface>
>>
>> <adminobject-class>org.apache.activemq.command.ActiveMQTopic</adminobject-class>
>>
>>     <adminobject-instance>
>>         <message-destination-name>bacmTopic</message-destination-name>
>>         <config-property-setting
>> name="PhysicalName">bacmTopic</config-property-setting>
>>         </adminobject-instance>
>> </adminobject>
>>
>> </connector> </resource>
>> </application-client>
>>
>>
>> Bascially, what I'm trying to do is deploy the TopicConnectionFactory and
>> Topic on the server, and use my application client to look them up.
>>
>> However, when I try to deploy the application client, I get this error:
>> "Error: Unable to distribute MyAppClient.jar: Could not access external rar
>> contents for artifact: org.apache.geronimo.configs/activemq-broker/2.0.2/car
>> Access is denied"
>>
>> I'm not even sure if I'm doing the right thing by trying to deploy the
>> activemq resource adapter on the client container as well (I picked up that
>> tip online). If anyone could help me figure out how to let my application
>> client access the JMS resources, please let me know!
>>
>> Thanks a lot,
>> Stella
>>
>>
>>
>

Mime
View raw message