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 <[EMAIL PROTECTED]>
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
>
>
>