Announcement Announcement Module
No announcement yet.
jms:inbound-channel-adapter Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • jms:inbound-channel-adapter


    my jms:inbound-channel-adapter listens from jboss to WL server, everything is working but if after it is running, i will restart the WL jms server.
    i will get a reconnecting problem, and i must restart jboss also for continue listen to the jms server.
    i think its related to jndi lazy lookup or cache false..i didnt resolve this problem, anyone knows how to fix this?


  • #2

    the problem is with 2 thin client jars of weblogic !
    i managed to solve this problem by making this workaround:
    i made a jmsTemplate which extends the jmsTemplate and overrides
    public Object execute(SessionCallback action, boolean startConnection)
    and in case of UncategorizedJmsException
    i load all the applicationcontext again with a while loop untill it will be successful.
    i gave the jms:inbound-channel-adapter only a jms-Template.
    i thought sharing this workaround, and if anyone knows another way to solve this issue, is welcome to do also.


    • #3
      Originally posted by ok2b View Post
      i load all the applicationcontext again with a while loop untill it will be successful.
      That sounds like a dangerous approach. Can you provide more information about the problem?


      • #4

        just realized you wanted to know about the problem :
        well the problem occurs after there is a connection and meanwhile you restart the weblogic server
        see here :

        here is my stack trace:
        20:47:07,747 ERROR [LoggingHandler] org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is weblogic.jms.common.JMSException: <055053> <java.rmi.MarshalException: CORBA COMM_FAILURE 1398079696 Maybe; nested exception is:
        org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe >
        at sAccessException(
        at tJmsAccessException(
        at org.springframework.jms.core.JmsTemplate.execute(J
        at org.springframework.jms.core.JmsTemplate.receiveSe lected(
        at org.springframework.jms.core.JmsTemplate.receive(J
        at org.springframework.jms.core.JmsTemplate.receive(J
        at org.springframework.jms.core.JmsTemplate.receiveAn dConvert(
        at org.springframework.integration.jms.JmsDestination PollingSource.receive(JmsDestinationPollingSource. java:68)
        at org.springframework.integration.endpoint.SourcePol lingChannelAdapter.doPoll(SourcePollingChannelAdap
        at org.springframework.integration.endpoint.AbstractP ollingEndpoint$Poller.innerPoll(AbstractPollingEnd
        at org.springframework.integration.endpoint.AbstractP ollingEndpoint$Poller.poll(AbstractPollingEndpoint .java:216)
        at org.springframework.integration.endpoint.AbstractP ollingEndpoint$ java:209)
        at org.springframework.integration.scheduling.SimpleT askScheduler$
        at java.util.concurrent.Executors$ l(
        at java.util.concurrent.FutureTask$Sync.innerRunAndRe set(
        at java.util.concurrent.FutureTask.runAndReset(Future
        at org.springframework.integration.scheduling.SimpleT askScheduler$ .java:256)
        at java.util.concurrent.ThreadPoolExecutor$ Task(
        at java.util.concurrent.ThreadPoolExecutor$ (
        Caused by: weblogic.jms.common.JMSException: <055053> <java.rmi.MarshalException: CORBA COMM_FAILURE 1398079696 Maybe; nested exception is:
        org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe >
        at weblogic.jms.client.JMSConnectionFactory.setupJMSC onnection(
        at weblogic.jms.client.JMSConnectionFactory.createCon nectionInternal(
        at weblogic.jms.client.JMSConnectionFactory.createQue ueConnection(
        at org.springframework.jms.connection.SingleConnectio nFactory.doCreateConnection(SingleConnectionFactor
        at org.springframework.jms.connection.SingleConnectio nFactory.initConnection(SingleConnectionFactory.ja va:290)
        at org.springframework.jms.connection.SingleConnectio nFactory.createConnection(SingleConnectionFactory. java:227)
        at org.springframework.jms.connection.SingleConnectio nFactory.createQueueConnection(SingleConnectionFac
        at org.springframework.jms.core.JmsTemplate102.create Connection(
        at org.springframework.jms.core.JmsTemplate.execute(J
        ... 17 more
        Caused by: java.rmi.MarshalException: CORBA COMM_FAILURE 1398079696 Maybe; nested exception is:
        org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe
        at emException(
        at javax.rmi.CORBA.Util.mapSystemException( 67)
        at weblogic.jms.frontend._FEConnectionFactoryRemote_S tub.connectionCreateRequest(_FEConnectionFactoryRe
        at weblogic.jms.client.JMSConnectionFactory.setupJMSC onnection(
        ... 25 more
        Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe
        at on.connectionAbort( 0)
        at on.connectionAbort( 8)
        at nectionImpl.readBits(SocketOrChannelConnectionImpl .java:354)
        at a:289)
        at oWork(
        at lImpl$WorkerThread.performWork( :471)
        at lImpl$
        Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 211 completed: No
        at on.ioexceptionWhenReadingConnection(ORBUtilSystemE
        at on.ioexceptionWhenReadingConnection(ORBUtilSystemE
        at ageBase.readGIOPHeader(
        at ageBase.readGIOPMessage(
        at se.createMessageMediator( :153)
        at nectionImpl.readBits(SocketOrChannelConnectionImpl .java:314)
        ... 4 more
        Caused by: End-of-stream
        at nectionImpl.readFully(SocketOrChannelConnectionImp
        at a:527)
        at ageBase.readGIOPHeader(
        ... 7 more

        i decided not to go with the previous solution, i prefer try to find out how to load only specific beans and not the whole context.
        Last edited by ok2b; Aug 27th, 2009, 01:51 PM.


        • #5
          Kindly let me know how do we configure jms:inbound or outbound channel adapter to use weblogic 10.3.3.jms service provider. Do we need to use spring jms template? But gives me an error and does not have placeholder to specify queue name.

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
          <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
          <property name="environment">
          <prop key="java.naming.factory.initial">weblogic.jndi.WL InitialContextFactory</prop>
          <prop key="java.naming.provider.url">t3://localhost:7001</prop>

          <bean id="queueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryB ean">
          <property name="jndiTemplate">
          <ref bean="jndiTemplate" />
          <property name="jndiName">

          <bean id="jmsDestinationResolver" class=" .JndiDestinationResolver">
          <property name="jndiTemplate">
          <ref bean="jndiTemplate" />
          <property name="cache">

          <bean id="queueTemplate" class="org.springframework.jms.core.JmsTemplate">
          <property name="connectionFactory">
          <ref bean="queueConnectionFactory" />
          <property name="destinationResolver">
          <ref bean="jmsDestinationResolver" />

          <bean id="jmsSender" class="jms.QueueSender">
          <property name="jmsTemplate">
          <ref bean="queueTemplate" />