ICEfaces-EE
  1. ICEfaces-EE
  2. IPCK-47

JMS topic binding on new versions of ActiveMQ

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2.GA
    • Fix Version/s: 1.8.2.GA_P01
    • Component/s: Enterprise Push Server
    • Labels:
      None
    • Environment:
      ActiveMQ 5.3

      Description

      When testing our ICEpack sample application on Tomcat 6 with ActiveMQ 5.3 (I was also using Liferay but I don't think it was relevant to the basic issue), I had the following problem:

      INFO: Starting the ICEfaces Enterprise Push Server...
      Nov 27, 2009 6:44:40 PM com.icesoft.net.messaging.MessagePipeline publish
      SEVERE:
      com.icesoft.net.messaging.MessageServiceException: javax.naming.NamingException: Something already bound at icefacesPush
       at com.icesoft.net.messaging.jms.JMSAdapter.publish(JMSAdapter.java:198)
       at com.icesoft.net.messaging.MessagePipeline.publish(MessagePipeline.java:151)
       at com.icesoft.net.messaging.MessagePipeline$PublishTask.run(MessagePipeline.java:189)
       at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
       at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
       at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:102)
       at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:215)
       at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
       at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
       at java.lang.Thread.run(Thread.java:613)
      Caused by: javax.naming.NamingException: Something already bound at icefacesPush
       at org.apache.activemq.jndi.ReadOnlyContext.internalBind(ReadOnlyContext.java:150)
       at org.apache.activemq.jndi.LazyCreateContext.lookup(LazyCreateContext.java:36)
       at org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:258)
       at org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:228)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
       at com.icesoft.net.messaging.jms.JMSAdapter.lookUpTopic(JMSAdapter.java:514)
       at com.icesoft.net.messaging.jms.JMSAdapter.publish(JMSAdapter.java:194)
       ... 9 more

      Reverting back to ActiveMQ 5.1 allowed it to work as expected. It might be a threading issue when dynamically creating topics. From my quick search online, it may required us to synchronize our initial access to the topic so that it doesn't get automatically created and bound more than once.

        Activity

        Deryk Sinotte created issue -
        Hide
        Deryk Sinotte added a comment -

        Assigning to Jack and targetting for P01.

        Show
        Deryk Sinotte added a comment - Assigning to Jack and targetting for P01.
        Deryk Sinotte made changes -
        Field Original Value New Value
        Fix Version/s 1.8.2.GA_P01 [ 10221 ]
        Assignee Ken Fyten [ ken.fyten ] Jack Van Ooststroom [ jack.van.ooststroom ]
        Jack Van Ooststroom made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #20883 Mon Mar 08 16:04:29 MST 2010 jack.van.ooststroom Fixed JIRA IPCK-47 : JMS topic binding on new versions of ActiveMQ
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/net/messaging/AbstractMessageServiceAdapter.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/net/messaging/jms/JMSAdapter.java
        Hide
        Jack Van Ooststroom added a comment -

        Synchronization has been put into place on the internal collections as well as the lookUpTopic() method. Marking this one as FIXED.

        Show
        Jack Van Ooststroom added a comment - Synchronization has been put into place on the internal collections as well as the lookUpTopic() method. Marking this one as FIXED.
        Jack Van Ooststroom made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: