activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: AMQ 4.0.x & MDB Listener not connecting
Date Mon, 04 Sep 2006 07:14:32 GMT
The stack trace you give has no ActiveMQ method calls or logging
methods which is strange. Could this be a JNDI configuration issue?

On 8/28/06, Muzza <stephen.murray@amt-sybex.com> wrote:
>
> Hi,
>
> Using AMQ 4.0.1 and 4.0.2 and Websphere AS 5.1.11
>
> I have an MDB deployed which will pick up and process messages from an AMQ
> persistent queue. All is fine if the queue is cleared down before starting
> my application.
>
> However, if I start AMQ and put a message on the Queue via Hermes and then
> start up my application in WAS 5.1 I never get a connection to the queue via
> ListenerPort in WAS 5.1.
>
> I'm suspecting that this may be a security / permissions problem when
> accessing the queue, but can't see what would cause this to only kick in
> when there are messages on the queue.
>
> I do see errors like the following in a ServerException log within WAS,
> would anyone have an idea on this or come across this problem before ?
>
> Log from WAS 5.1 :
>
> Index  Occur Time of last Occurence   Exception SourceId ProbeId
>        ences
> -----------------------------------------------------------------------
> 1      1     28/08/06 19:21:58:703 IST java.io.FileNotFoundException
> com.ibm.ejs.jms.listener.AsyncMessageLog.readRequestLogFile 128
> -----------------------------------------------------------------------
> +2      1     28/08/06 19:21:59:203 IST java.lang.ClassNotFoundException
> com.ibm.ws.activity.ActivityServiceInterceptor.loadMigrationImpls 424
> +3      1     28/08/06 19:21:59:766 IST
> com.ibm.ws.naming.jcache.CacheEntryNotFoundException
> com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal 367
> +4      1     28/08/06 19:22:00:062 IST
> javax.naming.NameAlreadyBoundException
> com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.do_bind_new_corba_context
> 1042
> +5      1     28/08/06 19:22:00:062 IST
> org.omg.CosNaming.NamingContextPackage.AlreadyBound
> com.ibm.ws.naming.jndicos.CNContextImpl.doCreateSubcontext 2155
> +6      1     28/08/06 19:22:00:062 IST
> javax.naming.NameAlreadyBoundException
> com.ibm.ws.naming.jndicos.CNContextImpl.createSubcontext 756
> +7      1     28/08/06 19:22:00:438 IST
> org.omg.CosNaming.NamingContextPackage.NotFound
> com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase.bind_new_corba_context
> 944
> +8      1     28/08/06 19:22:00:438 IST
> org.omg.CosNaming.NamingContextPackage.NotFound
> com.ibm.ws.naming.jndicos.CNContextImpl.doCreateSubcontext 2161
> +9      1     28/08/06 19:22:00:438 IST javax.naming.NameNotFoundException
> com.ibm.ws.naming.jndicos.CNContextImpl.createSubcontext 756
> +10     1     28/08/06 19:22:00:453 IST javax.naming.NameNotFoundException
> com.ibm.ws.naming.urlbase.UrlContextImpl.lookup 1226
> +11     1     28/08/06 19:22:00:469 IST javax.naming.NameNotFoundException
> com.ibm.ws.naming.urlbase.UrlContextImpl.lookup 1252
> +12     1     28/08/06 19:22:01:922 IST java.io.FileNotFoundException
> com.ibm.ejs.jms.DurableSubscriptionManagerImpl.readDurableSubscriptionFile
> 236
> +13     1     28/08/06 19:22:03:172 IST javax.naming.NameNotFoundException
> com.ibm.ejs.container.BeanMetaData.BeanMetaData 2507
>
> and my config is pretty basic in activemq.xml :
>
> <!-- START SNIPPET: example -->
> <beans xmlns="http://activemq.org/config/1.0">
>
>   <!-- Allows us to use system properties as variables in this configuration
> file -->
>   <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
>   <broker persistent="true" useJmx="true">
>
>     <!--  Use the following to set the broker memory limit (in bytes) 1mb
> below)
>     <memoryManager>
>         <usageManager id="memory-manager" limit="1048576"/>
>     </memoryManager>
>     -->
>
>     <!-- Use the following to configure how ActiveMQ is exposed in JMX
>     <managementContext>
>        <managementContext connectorPort="1099"
> jmxDomainName="org.apache.activemq"/>
>     </managementContext>
>     -->
>
>     <!-- In ActiveMQ 4, you can setup destination policies -->
>     <destinationPolicy>
>       <policyMap><policyEntries>
>
>           <policyEntry topic="FOO.>">
>             <dispatchPolicy>
>               <strictOrderDispatchPolicy />
>             </dispatchPolicy>
>             <subscriptionRecoveryPolicy>
>               <lastImageSubscriptionRecoveryPolicy />
>             </subscriptionRecoveryPolicy>
>           </policyEntry>
>
>       </policyEntries></policyMap>
>     </destinationPolicy>
>
>
>     <persistenceAdapter>
>         <journaledJDBC journalLogFiles="5"
> dataDirectory="${activemq.home}/activemq-data"/>
>       <!-- To use a different datasource, use th following syntax : -->
>       <!--
>       <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data"
> dataSource="#postgres-ds"/>
>        -->
>     </persistenceAdapter>
>
>     <transportConnectors>
>        <transportConnector name="default" uri="tcp://localhost:61666"
> discoveryUri="multicast://default"/>
>        <transportConnector name="stomp"   uri="stomp://localhost:61663"/>
>     </transportConnectors>
>
>     <networkConnectors>
>       <!-- by default just auto discover the other brokers -->
>       <networkConnector name="default" uri="multicast://default"/>
>       <!--
>       <networkConnector name="host1 and host2"
> uri="static://(tcp://host1:61616,tcp://host2:61616)" failover="true"/>
>       -->
>     </networkConnectors>
>
>   </broker>
>
>   <!--  This xbean configuration file supports all the standard spring xml
> configuration options -->
>
>   <!-- Postgres DataSource Sample Setup -->
>   <!--
>   <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
>     <property name="serverName" value="localhost"/>
>     <property name="databaseName" value="activemq"/>
>     <property name="portNumber" value="0"/>
>     <property name="user" value="activemq"/>
>     <property name="password" value="activemq"/>
>     <property name="dataSourceName" value="postgres"/>
>     <property name="initialConnections" value="1"/>
>     <property name="maxConnections" value="10"/>
>   </bean>
>   -->
>
>   <!-- MySql DataSource Sample Setup -->
>   <!--
>   <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
>     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
>     <property name="url"
> value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
>     <property name="username" value="activemq"/>
>     <property name="password" value="activemq"/>
>     <property name="poolPreparedStatements" value="true"/>
>   </bean>
>   -->
>
>   <!-- Embedded Derby DataSource Sample Setup -->
>
>   <!--bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
>     <property name="databaseName" value="derbydb"/>
>     <property name="createDatabase" value="create"/>
>   </bean-->
>
>
> </beans>
> <!-- END SNIPPET: example -->
>
> Any help greatly appreciated, as I say it works fine when the request queue
> is blank but if still has some existing messages then the MDB doesn't fire.
>
> Thanks,
> Steve.
> --
> View this message in context: http://www.nabble.com/AMQ-4.0.x---MDB-Listener-not-connecting-tf2179115.html#a6025868
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message