I was not able to configure ActiveMQ4.2 to integrate it with JBoss . I
followed the same set of steps to integrate ActiveMQ with JBoss and i get an
exception "IllegalStateException : could not find Implementation for 2.0".I
faced the same problem with ActiveMQ4.1 also .Is there something missing in
the instructions in 
http://devzone.logicblaze.com/site/integrating-apache-activemq-with-jboss.html.
Or is it because i took the wrong release and worked on that(If that is the
case can you give me the exact release/link  i should be taking to start all
that again ).If i am doing the wrong set of steps please elaborate on what
exactly has to be followed to achieve the goal.


tabshift wrote:
> 
> Maybe you should check if the messages are really lost by using the
> program "browse". You find it in the bin-directory.
> Since 4.2-Snapshot browse is implemented in activemq-admin.
> I suggest that your messages are still there but Hermes gives you some
> strange information.
> 
> 
> 
> 
> Karthik.Gopalakrishnan wrote:
>> 
>> Hi 
>> 
>>                  I am new to activemq and now i am facing a weird problem
>> with ActiveMQ(integrated with JBoss). I have a c# client which sends
>> persistent messages to a queue that is created using the file
>> activemq-jms-ds.xml the contents of which  is as follows
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> 
>> <!DOCTYPE connection-factories
>>     PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
>>     "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd";>
>> 
>> <connection-factories>
>> 
>>    <tx-connection-factory>
>>       <jndi-name>activemq/QueueConnectionFactory</jndi-name>
>>       <xa-transaction/>
>>       <track-connection-by-tx/>
>>       <rar-name>activemq-ra.rar</rar-name>
>>      
>> <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
>>      
>> <security-domain-and-application>JmsXARealm</security-domain-and-application>
>>    </tx-connection-factory>
>> 
>>    <mbean code="org.jboss.resource.deployment.AdminObject"
>> name="activemq.queue:name=queue1">
>>       <attribute name="JNDIName">queue/queue1</attribute>
>>       <depends
>> optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>
>>       <attribute name="Type">javax.jms.Queue</attribute>
>>       <attribute name="Properties">
>>             PhysicalName=queue.queue1
>>       </attribute>
>>    </mbean>
>> </connection-factories>
>> 
>> This file is dropped in the folder location : jboss/server/default/deploy
>> to be picked up by jboss.
>> 
>> when i use hermes to check if the message is actually posted to the queue
>> i am able to see the messages being arrived there.But when i shutdown
>> JBoss once and start it again the messages are no more present in that
>> queue.I understood that by default queues are persistent.Is there
>> something else i should be doing to make the queue really persistent,  in
>> the sense i dont want the messages to be lost when JBoss is restarted.
>> 
>> 
>> 
>> I am also including the contents of the files ra.xml and
>> broker-config.xml incase it might be changed :
>> 
>> ra.xml
>> ------------------------------
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!--
>>     Copyright 2005-2006 The Apache Software Foundation
>>    
>>     Licensed under the Apache License, Version 2.0 (the "License");
>>     you may not use this file except in compliance with the License.
>>     You may obtain a copy of the License at
>>    
>>     http://www.apache.org/licenses/LICENSE-2.0
>>    
>>     Unless required by applicable law or agreed to in writing, software
>>     distributed under the License is distributed on an "AS IS" BASIS,
>>     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>>     See the License for the specific language governing permissions and
>>     limitations under the License.
>> -->
>> 
>> <connector xmlns="http://java.sun.com/xml/ns/j2ee";
>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>     http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd";
>>     version="1.5">
>>     <description>ActiveMQ  inbound and outbound JMS
>> ResourceAdapter</description>
>>     <display-name>ActiveMQ JMS Resource Adapter</display-name>
>>     <vendor-name>activemq.org</vendor-name>
>>     <eis-type>JMS 1.1</eis-type>
>>     <resourceadapter-version>1.0</resourceadapter-version>
>>     <license>
>>         <description>
>>         
>>             Copyright 2005-2006 The Apache Software Foundation
>>            
>>             Licensed under the Apache License, Version 2.0 (the
>> "License");
>>             you may not use this file except in compliance with the
>> License.
>>             You may obtain a copy of the License at
>>            
>>             http://www.apache.org/licenses/LICENSE-2.0
>>            
>>             Unless required by applicable law or agreed to in writing,
>> software
>>             distributed under the License is distributed on an "AS IS"
>> BASIS,
>>             WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
>> or implied.
>>             See the License for the specific language governing
>> permissions and
>>             limitations under the License.
>> 
>>         </description>
>>         <license-required>true</license-required>
>>     </license>
>>     <resourceadapter>
>>        
>> <resourceadapter-class>org.apache.activemq.ra.ActiveMQResourceAdapter</resourceadapter-class>
>>         <config-property>
>>             <description>
>>               The URL to the ActiveMQ server that you want this
>> connection to connect to.  If using
>>               an embedded broker, this value should be 'vm://localhost'.
>>             </description>
>>             <config-property-name>ServerUrl</config-property-name>
>>             <config-property-type>java.lang.String</config-property-type>
>> <!--                   
>> <config-property-value>tcp://localhost:61616</config-property-value>-->
>>          <config-property-value>vm://localhost</config-property-value> 
>>         </config-property>
>>         <config-property>
>>             <description>The default user name that will be used to
>> establish connections to the ActiveMQ server.</description>
>>             <config-property-name>UserName</config-property-name>
>>             <config-property-type>java.lang.String</config-property-type>
>>             <config-property-value>defaultUser</config-property-value>
>>         </config-property>
>>         <config-property>
>>             <description>The default password that will be used to log
>> the default user into the ActiveMQ server.</description>
>>             <config-property-name>Password</config-property-name>
>>             <config-property-type>java.lang.String</config-property-type>
>>            
>> <config-property-value>defaultPassword</config-property-value>
>>         </config-property>
>>         <config-property>
>>             <description>The client id that will be set on the connection
>> that is established to the ActiveMQ server.</description>
>>             <config-property-name>Clientid</config-property-name>
>>             <config-property-type>java.lang.String</config-property-type>
>>         </config-property>
>>         <config-property>
>>             <description>Boolean to configure if outbound connections
>> should reuse the inbound connection's session for sending
>> messages.</description>
>>            
>> <config-property-name>UseInboundSession</config-property-name>
>>            
>> <config-property-type>java.lang.Boolean</config-property-type>
>>             <config-property-value>false</config-property-value>
>>         </config-property>
>> 
>>                        <!-- NOTE disable the following property if you do 
>> not wish to
>> deploy an embedded broker -->
>>         <config-property>
>>             <description>
>>               Sets the XML configuration file used to configure the
>> embedded ActiveMQ broker via 
>>               Spring if using embedded mode.
>>               
>>               BrokerXmlConfig is the filename which is assumed to be on
>> the classpath unless 
>>               a URL is specified. So a value of foo/bar.xml would be
>> assumed to be on the 
>>               classpath whereas file:dir/file.xml would use the file
>> system. 
>>               Any valid URL string is supported.              
>>             </description>
>>             <config-property-name>BrokerXmlConfig</config-property-name>
>>             <config-property-type>java.lang.String</config-property-type>
>>            
>> <config-property-value>xbean:broker-config.xml</config-property-value>
>>         </config-property>
>> 
>>         <outbound-resourceadapter>
>>             <connection-definition>
>>                
>> <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class>
>>                
>> <connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
>>                
>> <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class>
>>                
>> <connection-interface>javax.jms.Connection</connection-interface>
>>                
>> <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class>
>>             </connection-definition>
>>             <connection-definition>
>>                
>> <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class>
>>                
>> <connectionfactory-interface>javax.jms.QueueConnectionFactory</connectionfactory-interface>
>>                
>> <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class>
>>                
>> <connection-interface>javax.jms.QueueConnection</connection-interface>
>>                
>> <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class>
>>             </connection-definition>
>>             <connection-definition>
>>                
>> <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</managedconnectionfactory-class>
>>                
>> <connectionfactory-interface>javax.jms.TopicConnectionFactory</connectionfactory-interface>
>>                
>> <connectionfactory-impl-class>org.apache.activemq.ra.ActiveMQConnectionFactory</connectionfactory-impl-class>
>>                
>> <connection-interface>javax.jms.TopicConnection</connection-interface>
>>                
>> <connection-impl-class>org.apache.activemq.ra.ManagedConnectionProxy</connection-impl-class>
>>             </connection-definition>
>>             <transaction-support>XATransaction</transaction-support>
>>             <authentication-mechanism>
>>                
>> <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
>>                
>> <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
>>             </authentication-mechanism>
>>             <reauthentication-support>false</reauthentication-support>
>>         </outbound-resourceadapter>
>>         <inbound-resourceadapter>
>>             <messageadapter>
>>                 <messagelistener>
>>                    
>> <messagelistener-type>javax.jms.MessageListener</messagelistener-type>
>>                     <activationspec>
>>                        
>> <activationspec-class>org.apache.activemq.ra.ActiveMQActivationSpec</activationspec-class>
>>                         
>>                         <required-config-property>
>>                            
>> <config-property-name>destination</config-property-name>
>>                         </required-config-property>
>>                         <required-config-property>
>>                            
>> <config-property-name>destinationType</config-property-name>
>>                         </required-config-property>
>>                         
>>                     </activationspec>
>>                 </messagelistener>
>>             </messageadapter>
>>         </inbound-resourceadapter>
>>         <adminobject>
>>            
>> <adminobject-interface>javax.jms.Queue</adminobject-interface>
>>            
>> <adminobject-class>org.apache.activemq.command.ActiveMQQueue</adminobject-class>
>>             <config-property>
>>                 <config-property-name>PhysicalName</config-property-name>
>>                
>> <config-property-type>java.lang.String</config-property-type>
>>             </config-property>
>>         </adminobject>
>>         <adminobject>
>>            
>> <adminobject-interface>javax.jms.Topic</adminobject-interface>
>>            
>> <adminobject-class>org.apache.activemq.command.ActiveMQTopic</adminobject-class>
>>             <config-property>
>>                 <config-property-name>PhysicalName</config-property-name>
>>                
>> <config-property-type>java.lang.String</config-property-type>
>>             </config-property>
>>         </adminobject>
>>     </resourceadapter>
>> </connector>
>> 
>> 
>> broker-config.xml
>> ------------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!--
>>     Copyright 2005-2006 The Apache Software Foundation
>>    
>>     Licensed under the Apache License, Version 2.0 (the "License");
>>     you may not use this file except in compliance with the License.
>>     You may obtain a copy of the License at
>>    
>>     http://www.apache.org/licenses/LICENSE-2.0
>>    
>>     Unless required by applicable law or agreed to in writing, software
>>     distributed under the License is distributed on an "AS IS" BASIS,
>>     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>>     See the License for the specific language governing permissions and
>>     limitations under the License.
>> -->
>> <!-- START SNIPPET: xbean -->
>> <beans xmlns="http://activemq.org/config/1.0";>
>> 
>>   <broker useJmx="true" brokerName="bruce.broker1">
>> 
>>      <!-- In ActiveMQ 4, you can setup destination policies. note: this xml
>> format may still change a bit -->
>>     <destinationPolicy>
>>       <policyMap><policyEntries>
>> 
>>           <policyEntry topic="FOO.>">
>>             <dispatchPolicy>
>>               <strictOrderDispatchPolicy />
>>             </dispatchPolicy>
>>             <subscriptionRecoveryPolicy>
>>               <lastImageSubscriptionRecoveryPolicy />
>>             </subscriptionRecoveryPolicy>
>>           </policyEntry>
>> 
>>       </policyEntries></policyMap>
>>     </destinationPolicy>
>> 
>> 
>>     <persistenceAdapter>
>>       <journaledJDBC journalLogFiles="5"
>> dataDirectory="../activemq-data"/>
>>       <!-- To use a different datasource, use th following syntax : -->
>>       <!--
>>       <journaledJDBC journalLogFiles="5" dataDirectory="../data"
>> dataSource="#postgres-ds"/>
>>        -->
>>     </persistenceAdapter>
>> 
>>     <transportConnectors>
>>       <!-- prefixing a connector with discovery: causes the connector to
>> be advertiesed over rendezvous -->
>>       <transportConnector name="bruce.broker1"
>> uri="tcp://localhost:61616" discoveryUri="multicast://default"/>      
>>     </transportConnectors>
>> 
>>     <networkConnectors>
>>       <!-- by default just auto discover the other brokers -->
>>       <networkConnector uri="multicast://default"/>
>>       <!--
>>       <networkConnector
>> uri="static://(tcp://host1:61616,tcp://host2:61616)"/>
>>       -->
>>     </networkConnectors>
>> 
>>   </broker>
>> 
>> 
>> </beans>
>> 
>> 
>> 
>> Thanks in advance
>> 
>> 
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problems-with-Persistent-Messages-tf3445893s2354.html#a9623908
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to