Error destination for durable subscribers

We want to use the publish/subscribe mechanism for application
          integration purposes. We have one application publishing a message on
          a topic and multiple application that have a durable subscription on
          that topic.
          We want to control the redelivery process for an individual
          subscriber. When the number of retries is exceeded for a particular
          message it is sent to the error destination for that application. This
          allows us to fix the problem in the application (whatever it was) and
          resubmit the message to the application.
          We can set the Error Destination and control the redelivery process
          for both Topics and Queue. But is it also possible to define an error
          destination and redelivery process for individual durable
          subscriptions?
          Cheers,
          Mark van Holsteijn
          PS: My reference material is MQ en TUXEDO/Q. In both MQ and TUXEDO/Q
          you subscribe a specific Queue to a topic giving you both an error
          destination and redelivery control.
          

          Mark van Holsteijn wrote:
          > Tom,
          >
          > Thanks for the swift confirmation. Would it not be a handy enhancement
          > to the WebLogic JMS provider?
          >
          > About TUXEDO: tpsubscribe() lets you subscribe a queue in a queue space
          > to an event using the option TPEVQUEUE. See
          > http://edocs.bea.com/tuxedo/tux81/rf3c/rf3c81.htm#1045667
          >
          That isn't really the same animal as pub/sub - the above call redirects
          an event subscription to a particular Q, where each Q has to be manually
          configured. If my understanding is correct,
          you could emulate the same thing in WebLogic with just a little
          bit of work: configure multiple queues, and write an EJB
          method that redirects information to a particular Q based on the value
          of one of its parameters (or write an MDB that does a similar
          thing.)
          > Cheers,
          >
          > Mark
          >
          >
          > Tom Barnes wrote:
          >
          >> Mark van Holsteijn wrote:
          >>
          >>> We want to use the publish/subscribe mechanism for application
          >>> integration purposes. We have one application publishing a message on
          >>> a topic and multiple application that have a durable subscription on
          >>> that topic.
          >>>
          >>> We want to control the redelivery process for an individual
          >>> subscriber. When the number of retries is exceeded for a particular
          >>> message it is sent to the error destination for that application. This
          >>> allows us to fix the problem in the application (whatever it was) and
          >>> resubmit the message to the application.
          >>>
          >>> We can set the Error Destination and control the redelivery process
          >>> for both Topics and Queue. But is it also possible to define an error
          >>> destination and redelivery process for individual durable
          >>> subscriptions?
          >>
          >>
          >>
          >> No.
          >>
          > Thanks for the confirmation.
          >
          >>>
          >>>
          >>> Cheers,
          >>>
          >>> Mark van Holsteijn
          >>>
          >>> PS: My reference material is MQ en TUXEDO/Q. In both MQ and TUXEDO/Q
          >>> you subscribe a specific Queue to a topic giving you both an error
          >>> destination and redelivery control.
          >>>
          >>
          >> I think I know what you are referring to in MQ,
          >> but Tux/Q has no pub/sub capability.
          >>
          >
          > Chec
          >
          >> Tom, BEA
          >>
          >
          

Similar Messages

  • Limit Amount of messages stored for durable subscribers

    Hello,
    Is there any way to limit the number of messages stored for durable subscribers in OpenMQ. ActiveMQ has a property you can set: constantPendingMessageLimitStrategy = 10. Does OpenMQ have a similar property?
    Thanks,
    Ed

    You can set limit on the destination that the durable subscriber subscribed to (see imqcmd create dst -o option)

  • What happens if I don't set a client id for durable subscribers?

    What happens if I don't set a client id for durable subscribers?

    If you do not set a clientID in 2.0, it will automatically set a clientID for
    you. This means that you MUST unsubscribe the durable subscriber on the same
    host (since otherwise the clientID's will be different)
    In general, its good practice to set a client ID anytime you are using durables
    (so that you have some control).

  • Changing the selector string for durable subscribers

    Hi,
    I have the following scenario:
    A durable subscriber registers with Selector A.
    A publisher sends messages, some match selector A and some not.
    The durable subscriber shuts down without unsubscribing.
    After a few minutes the same durable subscriber (with the same ID)reconnects, but with a different Selector: B.
    What should happen in this scenario?
    Should the durable subscriber continue to receive the messages that match Selector A or only those that match Selector B?
    Thank you for you help.
    Shai

    If a durable subscriber changes its subscription (such as using a different topic or selector) then its the equivalent of closing the previous subscription and creating a brand new subscription.
    So the short answer is no, it should only receive those that match B.
    James
    http://logicblaze.com/

  • Consumer for Durable subscribers keep on increasing

              We have a durable subscriber with client id "ABC". We forcibly kill it to test
              recovery.
              Next time I start this subscriber again with same client id. Number of consumers
              on this topic goes up. Everything else works fine. Only Messages pending keeps
              going up too?
              Not sure why consumers are increased?
              Thanks
              

              Thank you Tom and shean
              I will contact support
              Abahy
              Tom Barnes <[email protected]> wrote:
              >Either A) contact customer support to see if they will patch 6.1 no SP
              >for you
              >(or to see if they already have a patch)
              >Or B) upgrade yourself to SP2 as you already plan (or perhaps better
              >yet
              >SP3, which just came out)
              > and see if the problem goes away
              >
              >Personally I think you should go with SP2 or SP3, or perhaps even make
              >the leap
              >to 7.0. Especially
              >since you are not in production.
              >
              >Note BEA newsgroups are not maintained by "customer support", although
              >customer
              >support will occassionally
              >take a peek. The vast majority of posters are either customers or BEA
              >developers that
              >post on their own time.
              >
              >Tom, BEA
              >
              >Abhay wrote:
              >
              >> Shean,
              >>
              >> So what we do next?
              >>
              >> Abhay
              >>
              >> "Shean-Guang Chang" <[email protected]> wrote:
              >> >The support team has all the available release and patch that is why
              >> >I will
              >> >pass this to them to confirm the problem.
              >> >
              >> >"Abhay" <[email protected]> wrote in message
              >> >news:[email protected]...
              >> >>
              >> >> Shean,
              >> >>
              >> >> Did this problem existed in previous releases? With current release
              >> >can
              >> >you kill
              >> >> the subscriber, without unsubscribing and when restarted it shows
              >only
              >> >one
              >> >consumers
              >> >> or two?
              >> >>
              >> >> Do you know of any way to check whether these pending messages are
              >> >in
              >> >uncommited
              >> >> ot unacknowledged mode?
              >> >>
              >> >> Abhay
              >> >>
              >> >> "Shean-Guang Chang" <[email protected]> wrote:
              >> >> >The problem is not in the current environment. I will pass this
              >issue
              >> >> >to our
              >> >> >support team so they can verify this problem further on the 6.1
              >line.
              >> >> >In the
              >> >> >meantime you can call BEA support to get a customer case number
              >so
              >> >that
              >> >> >if
              >> >> >the problem requires any patch the customer support will have all
              >> >the
              >> >> >info
              >> >> >they need.
              >> >> >
              >> >> >Thanks!
              >> >> >
              >> >> >"Abhay" <[email protected]> wrote in message
              >> >> >news:[email protected]...
              >> >> >>
              >> >> >> Shean,
              >> >> >>
              >> >> >> Looks like we are online. I have restarted the subscriber process
              >> >and
              >> >> >do
              >> >> >not get
              >> >> >> messages again. My preliminary analysis it is statistical problem
              >> >only.
              >> >> >But We
              >> >> >> are building a huge EAI bus and want to get all things addressed
              >> >before
              >> >> >it
              >> >> >comes
              >> >> >> in manufacturing.
              >> >> >>
              >> >> >> We are using WLS6.1(no SP's). I am planning to upgrade to SP2
              >in
              >> >weeks
              >> >> >time. I
              >> >> >> looked at bugs fixed since 6.1 and there is no mention of such
              >problem.
              >> >> >So, not
              >> >> >> confidant that upgrading to SP2 will fix problem.
              >> >> >>
              >> >> >> Abhay
              >> >> >>
              >> >> >> "Shean-Guang Chang" <[email protected]> wrote:
              >> >> >> >What version of WLS you are using?
              >> >> >> >So far you indicate there are some statistics issue ONLY.
              >> >> >> >After those messages being consumed (committed) do you get them
              >> >again?
              >> >> >> >
              >> >> >> >I would start the subscriber process one more time and see if
              >those
              >> >> >> >committed messages will be available again or not. Thanks!
              >> >> >> >
              >> >> >> >"Abhay" <[email protected]> wrote in message
              >> >> >> >news:[email protected]...
              >> >> >> >>
              >> >> >> >> Thank you Shean,
              >> >> >> >>
              >> >> >> >> I am creating Durable subscriber with same client id and
              >> >subscription
              >> >> >> >name. When
              >> >> >> >> listerner falls over or killed on perpose. Durable subscription
              >> >> >entry
              >> >> >> >count for
              >> >> >> >> that clientid and subscriptionid (same) remains 1. Now we
              >start
              >> >> >the
              >> >> >> >subscriber
              >> >> >> >> process again and that increaments "consumer" count to 2.
              >> >> >> >>
              >> >> >> >> Is this way it should be? I am not sure. I was thinking that
              >> >it
              >> >> >will
              >> >> >> >be
              >> >> >> >intelligent
              >> >> >> >> enough to say I am from the same machine with same client
              >id,
              >> >> >subscription
              >> >> >> >id
              >> >> >> >> so I am the same guy.
              >> >> >> >>
              >> >> >> >> Anyway, reason I started looking at this because I am having
              >> >another
              >> >> >> >problem.
              >> >> >> >> once this restarted subscriber process consumes the message
              >and
              >> >> >commits
              >> >> >> >session
              >> >> >> >> transaction. (yes, I use createTopicSession(true, AUTO)).
              >the
              >> >message
              >> >> >> >goes
              >> >> >> >in
              >> >> >> >> pending stage. I am not sure why? So I started looking everywhere.
              >> >> >> >Do you
              >> >> >> >know
              >> >> >> >> how to find out what state these pending messages are in (uncommited
              >> >> >> >or
              >> >> >> >unacnkowledged)?
              >> >> >> >>
              >> >> >> >> Abhay
              >> >> >> >>
              >> >> >> >> "Shean-Guang Chang" <[email protected]> wrote:
              >> >> >> >> >What release of WAS?
              >> >> >> >> >
              >> >> >> >> >The durable subscriber will stay around even after the termination
              >> >> >> >of
              >> >> >> >> >the
              >> >> >> >> >Topic.
              >> >> >> >> >The durable subscriber is treated as a persistent subscriber
              >> >to
              >> >> >the
              >> >> >> >Topic
              >> >> >> >> >so
              >> >> >> >> >the durable subscriber will still receive all the qualified
              >> >topic
              >> >> >> >message
              >> >> >> >> >according to the JMS spec.
              >> >> >> >> >The only way through JMS API to remove the durable subscriber
              >> >is
              >> >> >using
              >> >> >> >> >unsubscribe() and there are conditions as to when this is
              >allowed
              >> >> >> >(a.go.
              >> >> >> >> >if
              >> >> >> >> >there is a Topic currently using this durable subscriber
              >then
              >> >> >unsubscribe
              >> >> >> >> >will fail, etc...)
              >> >> >> >> >
              >> >> >> >> >You said you did createDurableSubscriber under the same client
              >> >> >id.
              >> >> >> >Did
              >> >> >> >> >you
              >> >> >> >> >use the same subscription name? If the subscription name
              >is
              >> >different
              >> >> >> >> >then
              >> >> >> >> >you are creating a different durable subscriber.
              >> >> >> >> >
              >> >> >> >> >
              >> >> >> >> >
              >> >> >> >> >"Abhay" <[email protected]> wrote in message
              >> >> >> >> >news:[email protected]...
              >> >> >> >> >>
              >> >> >> >> >> We have a durable subscriber with client id "ABC". We forcibly
              >> >> >kill
              >> >> >> >> >it to
              >> >> >> >> >test
              >> >> >> >> >> recovery.
              >> >> >> >> >>
              >> >> >> >> >> Next time I start this subscriber again with same client
              >id.
              >> >> >Number
              >> >> >> >> >of
              >> >> >> >> >consumers
              >> >> >> >> >> on this topic goes up. Everything else works fine. Only
              >Messages
              >> >> >> >pending
              >> >> >> >> >keeps
              >> >> >> >> >> going up too?
              >> >> >> >> >>
              >> >> >> >> >> Not sure why consumers are increased?
              >> >> >> >> >>
              >> >> >> >> >> Thanks
              >> >> >> >> >>
              >> >> >> >> >
              >> >> >> >> >
              >> >> >> >>
              >> >> >> >
              >> >> >> >
              >> >> >>
              >> >> >
              >> >> >
              >> >>
              >> >
              >> >
              >
              

  • Messages for Durable Subscriber are not persisted with Distributed Topic

    Setup:
              - Weblogic 8.1 SP 6 cluster with two nodes on single Sun Solaris 5.8 host
              - Distributed topic destination, separate JMS server with separate filestore for each node
              - Standalone durable JMS client connecting to distributed topic destination using specific JNDI name.
              - Messages are persistent (msg.setJMSDeliveryMode(DeliveryMode.PERSISTENT). Delivery mode override for topic destinations is set to "Persistent"
              Test:
              1) Both nodes up, starting durable topic subscriber -> durable subscriber is visible in Weblogic console -> sending X messages -> X messages are received :-)
              2) Both nodes up, killing durable topic subscriber -> durable subscriber is still visible in Weblogic console -> sending X messages -> Messages Current Count for durable subscribers is set to X -> starting JMS client again
              2a) subscribing to same node as before -> console says durable subscriber is active again -> X messages are received :-)
              2b) subscribing to other node -> durable subscriber is automatically migrated by Weblogic to this node, console says that subscriber is active, but Messages Current Count is 0 (zero) -> 0 (zero) messages are received :_|
              Where are my X messages gone?
              Should I open a call or did I misunderstand the basics?
              Thanks, Peter

    According to Bea Customer Support this is the normal behavior. If you kill a durable topic subscriber and reconnect it with the same id to another node, the old subscription is deleted and all messages still waiting to be delivered are gone.
              Lesson learned: If you need failover for the server AND client use JMS queues.
              Peter

  • Problem creating JMS Error Destination via Ant in WLS 8.1

    We've got several JMS queues in our application. We create the server via Ant (using the wlconfig task).
    All is well, the queues have been working fine, until we try to add an error destination queue (after several attempts to handle the message, it'll be sent to the error queue for later troubleshooting).
    Here's an example of what we've got now:
    <create type="JMSQueue" name="batchQueue" property="jmsqueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
    </create>We create another queue to handle the errors, and then add an attribute to the first to point to the second:
    <create type="JMSQueue" name="batchErrorQueue" property="batchErrorQueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchErrorQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
    </create>
    <create type="JMSQueue" name="batchQueue" property="jmsqueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
        <set attribute="ErrorDestination" value="${batchErrorQueue}"/>
    </create>This seems logical, because if we do this same exact operation via the console, the config.xml goes from this:
    <JMSQueue JNDIName="net.nike.cdm.batchQueue"
                Name="batchQueue" RedeliveryLimit="5"/>to this:
    <JMSQueue ErrorDestination="batchErrorQueue"
                JNDIName="net.nike.cdm.batchQueue"
                Name="batchQueue" RedeliveryLimit="5"/>
    <JMSQueue JNDIName="net.nike.cdm.batchErrorQueue" Name="batchErrorQueue"/>The error we get when trying to do this via Ant is:
    [wlconfig] A destination and its ErrorDestination must both be on the same JMS server. (The problematic destination is "batchQueue" on JMS server "cdmdomain"). Also, an ErrorDestination can not be null if the ExpirationPolicy for a destination is "redirect" and a destination can not specify itself as its ErrorDestination.Flipping on -verbose in Ant, the actual exception is:
    [wlconfig] SET -mbean cdmdomain:Name=batchQueue,Type=JMSQueue -property ErrorDestination cdmdomain:Name=batchErrorQueue,Type=JMSQue
    [wlconfig] A destination and its ErrorDestination must both be on the same JMS server. (The problematic destination is "batchQueue"
    s its ErrorDestination.
          [if] Error in class net.sf.antcontrib.logic.IfTask
    BUILD FAILED
    file:C:/viewstore/CDM_R6.5_Development/B2B_CDM/dev/build.xml:1399: Error invoking MBean command: java.lang.NullPointerException
           at weblogic.ant.taskdefs.management.WLConfig.handleException(WLConfig.java:567)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCommand(WLConfig.java:381)
           at weblogic.ant.taskdefs.management.WLConfig.invokeSetCommand(WLConfig.java:235)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCreateCommand(WLConfig.java:163)
           at weblogic.ant.taskdefs.management.WLConfig.executeCommands(WLConfig.java:106)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCreateCommand(WLConfig.java:167)
           at weblogic.ant.taskdefs.management.WLConfig.executeCommands(WLConfig.java:106)
           at weblogic.ant.taskdefs.management.WLConfig.execute(WLConfig.java:89)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:117)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at net.sf.antcontrib.logic.IfTask.execute(Unknown Source)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)
           at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at org.apache.tools.ant.Target.execute(Target.java:309)
           at org.apache.tools.ant.Target.performTasks(Target.java:336)
           at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
           at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
           at org.apache.tools.ant.Main.runBuild(Main.java:609)
           at org.apache.tools.ant.Main.start(Main.java:196)
           at org.apache.tools.ant.Main.main(Main.java:235)So, my question is, what are we doing wrong? What IS the syntax to set an error destination for a JMS queue via Ant for WLS 8.1?
    Any help would be greatly appreciated
    Thanks,
    Douglas Bullard

    I get exactly the same problem - was a resolution to this issue found?
    Thanks,
    Richard Marriott
    [email protected]

  • Http RFC destination for ECC to PI Connection Error

    Hi,
    While doing the proxy runtime configuration http RFC destination for ECC to PI .
    I configure the RFC destination as  below ---
    Target Host --  PI Host 
    Service No  -- 50000
    Path Prefix --- /sap/XI/engine/?type=entry
    Login  Security Details
    User Id -- PI user id
    Password --- PI password
    While doing the Connection Test , I got the error "ICM_HTTP_CONNECTION_FAILED"
    I checked  T-code in ECC system SMICM  and ICM is in green status and I checked the services are activated in SICF transaction.
    Please let me know how to resolve this issue.
    regards,
    Rohit

    Hi Rahul,
    I checked  all service are activated in SMICM  and I configured the FQDN also.
    Now  I cofigured the Service No  --- 8000(http port no of PI) instead of 50000(J2EEport no of )
    Target Host --- hostname
    and did a Connection test...then I am getting a status as "http reponse 500" and status text as "empty http request received".
    pls let me know is it correct configured or not.
    regards,
    Rohit

  • Original destination for messages redelivered to error destination

              Hi,
              I'm writing an admin interface for our system and one part of it needs to manage
              redelivery of messages. We have multiple destinations, and I have configured
              one queue to act as an error queue for them all. My plan had been to allow users
              to resubmit messages to their original destination - but I dont have that information.
              Message.getDestination() returns my error queue, which makes sense. I was hoping
              there'd be a header I could extract that might contain the name for of the original
              destination, but I dont seem to be able to find it.
              The only thing I can think of is to have a separate error queue for each destination,
              this would allow me to assume that all messages were initially sent to the corresponding
              queue - but it seems a little heavy handed... does anyone else have a better solution?
              cheers
              dim
              

    Sorry Dmitri, I mixed up names here.
              "Adarsh Dattani" <[email protected]> wrote in message
              news:[email protected]...
              > Terrence,
              >
              > Check out the "Error Destination Manager" sample app at
              > http://dev2dev.bea.com before you write a lot of code. I have already the
              > built the admin facility that you are talking about and have also included
              > the source code and documentation with it. Let me know if you need any
              help
              > with it.
              >
              > AD
              >
              > "Dmitri Colebatch" <[email protected]> wrote in
              message
              > news:[email protected]...
              >
              > >
              > > Hi,
              > >
              > > I'm writing an admin interface for our system and one part of it needs
              to
              > manage
              > > redelivery of messages. We have multiple destinations, and I have
              > configured
              > > one queue to act as an error queue for them all. My plan had been to
              > allow users
              > > to resubmit messages to their original destination - but I dont have
              that
              > information.
              > > Message.getDestination() returns my error queue, which makes sense. I
              > was hoping
              > > there'd be a header I could extract that might contain the name for of
              the
              > original
              > > destination, but I dont seem to be able to find it.
              > >
              > > The only thing I can think of is to have a separate error queue for each
              > destination,
              > > this would allow me to assume that all messages were initially sent to
              the
              > corresponding
              > > queue - but it seems a little heavy handed... does anyone else have a
              > better solution?
              > >
              > > cheers
              > > dim
              > >
              >
              >
              

  • Redirection of expired message to error destination topic.

              We are using weblogic 7.0 for JMS. We have two topics topic A and topic B. When
              a message gets expired in TopicA, we want this to be redirected to an error destination
              that is configured to Topic B. This is not working for us for Non durable subscribers.
              Is there anyway to find out the messages that are expired before delivered to
              the destination?
              Thanks for any help.
              Sudeer
              

    Good timing!
              Message redirection of expired messages is a new feature available in
              8.1. This feature is not available in 7.0.
              8.1 has been out for a few weeks now.
              Tom, BEA
              Sudeer wrote:
              > We are using weblogic 7.0 for JMS. We have two topics topic A and topic B. When
              > a message gets expired in TopicA, we want this to be redirected to an error destination
              > that is configured to Topic B. This is not working for us for Non durable subscribers.
              >
              > Is there anyway to find out the messages that are expired before delivered to
              > the destination?
              >
              > Thanks for any help.
              >
              > Sudeer
              

  • Messages in JMS Topic Error destination

    Hi,
    I have a JMS Topic with an error destination queue configured. Now, In our scenario , there are two subscribers of topic for the same message. Suppose for a message published to topic, subscriber1 is able to processes message successfully but subscriber2 throws errors when processing the same message.
    1. Once the redelivery limit is reached and subscriber2 continues to throw exception, Will the message get en queued to Error Destination (in spite of the fact that subscriber 1 has processed the same message successfully) ?
    2. For a consumer (e.g MDB) listening to Error destination and consuming error messages, Is it possible to determine which topic subscriber was unable to process the message ?
    Please let me know
    Regards,
    Arif

    Here it depends on the state of the message, if the message is visible then the message would be available for consumption, else it is not. In case the subscriber 2 failed to consume the message and the message is still visible then a retry would be made, else the message would not be retried.
    In case the message is visible then the message would be move to the error queue based on the configured redelivery attempts.
    Additionally, an MDB can find the destination using the getJMSDestination() call. But as per my understanding we will only be able to get the name of the last destination which in this case would be error queue:
    http://docs.oracle.com/javaee/1.4/api/javax/jms/Message.html#getJMSDestination%28%29

  • Durable subscribers questions

    Hello,
              I am building an application that has two WebLogic servers
              communicating certain information between them using JMS. I am using
              WebLogics implementation of JMS including destinations and messaging
              bridges.
              I am experiencing some problems.
              Server 1 takes files and puts them in a Stream Message and publishes
              them to a topic as shown here:
              Context context = new InitialContext();
              TopicConnectionFactory topicFactory = (TopicConnectionFactory)
              context.lookup(sourceDescriptor.getConnectionFactory());
              connection = topicFactory.createTopicConnection();
              session = connection.createTopicSession(false,
              Session.CLIENT_ACKNOWLEDGE);
              Topic topic = (Topic)
              context.lookup(sourceDescriptor.getTopicJNDIName());
              TopicPublisher publisher = session.createPublisher(topic);
              publisher.setDeliveryMode(DeliveryMode.PERSISTENT);
              StreamMessage message = session.createStreamMessage();
              for (int i = 0; i < files.length; i++)
              Loop through reading a set of files into the StreamMessage publishing
              each.
              publisher.publish(message);
              Topic config.xml
              <JMSTopic JNDIName="topic/topicName"
              Name="Topic Name" StoreEnabled="default"/>
              Destination config.xml
              <JMSBridgeDestination
              AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDINoTX"
              ConnectionFactoryJNDIName="ConnectionFactory"
              ConnectionURL="t3://localhost:7001"
              DestinationJNDIName="queue/queueName" Name="Queue Destination
              Name"/>
              <JMSBridgeDestination
              AdapterJNDIName="eis.jms.WLSConnectionFactoryJNDINoTX"
              ConnectionFactoryJNDIName="ConnectionFactory"
              ConnectionURL="t3://machinename:8001"
              DestinationJNDIName="topic/topicName"
              DestinationType="Topic" Name="Topic Source Name"/>
              Messaging Bridge config.xml
              <MessagingBridge
              Name="The Bridge"
              QOSDegradationAllowed="true" QualityOfService="Duplicate-okay"
              SourceDestination="Topic Source Name"
              TargetDestination="Queue Destination Name" Targets="server1"/>
              Connection Factory
              <JMSConnectionFactory JNDIName="ConnectionFactory"
              Name="Server1 Connection Factory" Targets="server1"/>
              All settings in WebLogic are default for the configuration of this as
              far as I know.
              The bridge is using Duplicate Ok QOS at this point.
              This works like a charm as long as server which has the destination
              queue is up and running and has received messages in the past.
              The first problem is the first set of messesages are sent to the Queue
              on Server 2 but the MDB does not pick them up. I have left it running
              for an hour and these messages sit in the pending state for the
              monitoring of the Queue. In order to get this first set of messages
              to be processed I have to restart Server 2 at which point the initial
              messages are processed. Any subsequent messages are processed by the
              MDB immediately upon delivery. What is the cause of this and is there
              any way around having to restart after the first messages are received
              creating the file in the message store? Does this have anything to do
              with the fact that there is no file in the message store until the
              first messages are received and thus the MDB is not looking since
              there was nothing there on start up? This seems very odd....
              The second problem has to do with durability. I start Server 1 and it
              waits for a finish file and when it sees it it takes the files and
              puts them on the topic as described. As long as Server 2 is up and
              running at that time everything is fine. If However Server 2 is not
              running at that moment and is started at a later time then the
              messages seem to be lost. What could cause this? Is there any way I
              can visually see that the message is being held on Server 1? The
              bridge from this topic on Server 1 to the queue on Server 2 is
              configured on Sever 1 and you can see that it is working when Server 2
              is not running due to the connection refused messages the bridge
              throws. Is the bridge accepting the messages from the topic enough
              for the topic to decide it is done with them and delete them? Could
              the acknowledgement from the queue on another bridge for the same
              topic be confusing the topic and deleteing the message before all
              subscribers get it? This is a big issue since it seems that durabilty
              is only guarenteed when both servers are running and a message is
              created.
              Any help on this would be appreciated...If you wouldn't mind cutting
              and pasting any responses to my email as well it would be appreciated
              as I use google for groups and it has a long turn around.
              TIA...
              

    Hi Kartheek,
    Once we create a TOPIC in NWA.In durable subscribers tab subscription ID and Subscription name will be automatically created once you publish the message in to TOPIC.
    check in NWA-->jms server configuration-->durable subscribers.
    thanks
    Purna

  • Two durable subscribers with same ID in Weblogic 9.2 MP 2?

    External JMS durable topic subsribers of a distributed topic destination are connected to a Weblogic cluster with 3 Nodes. The clients are started with shell scripts on different hosts. A watchdog is checking if the clients are still alive; if not, they are restarted automatically. Randomly a node of the cluster is chosen and the client is reconnected (Note: Weblogic does not support durable topic subscribers for distributed destinations, this means you cannot connect with a cluster URL)
              However, from time to time we see two durable topic subscribers with the SAME ID connected on two different destinations: one of them is active, the other is not.
              This should not be possible. Is this a Weblogic bug or a mis-configuration of our domain.
              Thanks,
              Peter

    It turned out that our operating team stops the clients with "kill -9". I guess that this may be the reason that the durable subscribers remain registrated on the server? Of course, one should never use "kill -9", however sometimes this can not be avoided:
              - Weblogic 8.1 SP 4 could not startup if a durable "ghost" subscriber was registrated
              - Weblogic 8.1 SP 6 could handle this in a robust way!
              - Weblogic 9.2 MP1/2 seems to go to an unstable state. Once, for example, we registrated 1635 connections for one Weblogic instance with the state "CLOSE_WAIT" (Of course you may argue this may be the cause of our inconvinience. However, normally this value is less than 20)
              The fact that the durable subscribers are not correctly placed in the Weblogic console may not be correlated to the problem above, but just another bug. It is just annoying, as it is nearly impossible to unregister the durable "ghost" subscriber via the console. Sometimes even the subscriber id is not shown.
              Do my comments sound reasonable?
              Thanks, Peter

  • List durable subscribers

    Hi,
    I have a server which connects to MQSeries topics with a durable subscriber.
    Now, if my program is terminated unexpectetly, the subscriber cannot be made inactive(closed). If I then want to restart my program (so trying to connect to the topic with the same durable subscriberID), I sometimes get the error that there is still an active subscriber (which is normal, since previous one did not end correctly). Is there somehow a way to list all durable subscribers for a topic and/or to remove them (make them inactive)??
    I hope my question is clear.
    Thanx in advance,
    Ssteven

    hi,
    I have exactly the same problem with IBM's implementation of JMS and could not find any workaround. One of IBM redbooks claims that there is a Cleanup utility that can be used to cleanup these type of subscribers, however, the utility only supports Java 1.3. I can't seem to find a version that supports 1.2. Did you have the problem resolved? What is your solution?
    Your help will be greatly appreciated!!
    ckshen00

  • Durable Subscribers not found

    Hi all,
             I am working on SAP PI 7.3. My scenario is to publish the incoming messages to topic and then those messages will be sent to the suitable subscribers.
            When I try to configure subscribers for the topic, the following error is coming:
    There are no durable subscribers registered for the selected JMS Topic.
    Please help me on how to register subscribers in NWA.
    Thanks,
    Kartheek

    Hi Kartheek,
    Once we create a TOPIC in NWA.In durable subscribers tab subscription ID and Subscription name will be automatically created once you publish the message in to TOPIC.
    check in NWA-->jms server configuration-->durable subscribers.
    thanks
    Purna

Maybe you are looking for

  • Writing Partner Application Using Java SSO APIs

    Hi Following the document "Oracle9iAS Single Sign-On Application Developer's Guide" to implement Single Sign on for Partner Applications. When try to login into the application for the first time they successfully get redirected to the Login Server.

  • Help me in Creating Function Module

    Hi All, I am new to SAP, please help me doing the following task given to me. Given EE group and EE subgroup, how to write a custom function module that displays all the employees in it? The output should be displayed in 2 tables where first table ha

  • Scrolling Effects in Adobe Muse

    Hey everyone, I am experimenting with the scrolling effects in Muse and I am using a pattern that tiles horizontally across the site. My pattern scrolls up and off the screen. My key position is 143. If I change this, it changes my original postion o

  • Allow or Disallow use of the Offline Files feature

    Hi all! I am having an issue with Offline files on some new Windows 8.1 clients we have deployed. We wish to have Offline Files disabled for these machines, but using the GPO Setting "Computer config>Policies>Administrative Templates>Network>Offline

  • Kodo runtime requires serp.jar  Is it intension?

    kodo runtime requires serp.jar Is it intension? ava Web Start 1.2-beta Console, started Mon Jul 22 18:31:48 EDT 2002 Java 2 Runtime Environment: Version 1.4.0_01 by Sun Microsystems Inc. java.lang.NoClassDefFoundError: serp/util/Localizer at com.sola