JMS Error destination..

Hi,
I am developing a JMS application where i am processing message in a Queue and configured redelivery delay and redelivery limit. When the maximum redelivery limit has reached, i will move the message to an error destination which is again a Queue. I can send an email to the administartor with the message information indicating that the processing for the message has failed. But the requirment is, the administrator wants to view the message from the persistent store and resubmit the message. Is it possible? If that is the case what can be value for time-to-live for the message? I am using ServiceBus 10.3 and using the underlying weblogic server as JMS provider. Besides, i have a question on the relationship between redelivery delay, redelivery limit and time-to-live override. When i tested, if time-to-live is less than the redeliverylimit*redelivery delay, then will the message be deleted and the redelivery limit(number of retries) is not taking into effect. But if time-to-live is greater than also the message is deleted after maximum retry means time-to-live doesn't have effect. This means i am i right to say, if i specify time-to-live and there is no need to specify redeliverylimit and redelivery delay. If that is the case on what basis, the retry is made?
Thanks in advance for your replies,
Sam

Hi,
I am using ServiceBus 10.3 and using the underlying weblogic server as JMS provider. I think OSB tends to decorate JMS messages with its own private information, so I don't know if it can support arbitrarily moving them between destinations. You may be better off posting to an OSB specific forum.
But the requirment is, the administrator wants to view the message from the persistent store and resubmit the message. Is it possible? That said, you can view, delete, move, and file import/export WebLogic JMS messages using the message management screens on the console. If you need a more sophisticated capability than the console provides, it is possible to write Java or WLST program's for the purpose.
If you're interested in scripting, the following might be enough to get you started:
For scripting and tracing examples, see the July 29th and August 10th 2009 newsgroup post with subject "Example using of getMessage(s) with JMS error queues?" [ here | http://forums.oracle.com/forums/thread.jspa?messageID=3657916] and the June 10th 2009 newsgroup post with subject "JMSDestinationRuntimeMBean - possible STATE values " [ here | http://forums.oracle.com/forums/thread.jspa?messageID=3531603 ]. Also take a look at the +Sept 23 2009 newsgroup posts with subject "Enable JMS - Queue/Topic Trace on console"+ [ here | http://forums.oracle.com/forums/thread.jspa?messageID=3782486].
+WARNING: Exporting too many messages at a time can cause out-of-memory errors.+
Besides, i have a question on the relationship between redelivery delay, redelivery limit and time-to-live override. When i tested, if time-to-live is less than the redeliverylimit*redelivery delay, then will the message be deleted and the redelivery limit(number of retries) is not taking into effect. But if time-to-live is greater than also the message is deleted after maximum retry means time-to-live doesn't have effect. This means i am i right to say, if i specify time-to-live and there is no need to specify redeliverylimit and redelivery delay. If that is the case on what basis, the retry is made?By definition, an expired message is automatically deleted -- no matter what the delivery count is. If you want expired messages to be automatically redirected to a destinatin's error destination you can configure an "expiration policy" of "redirect" on the destination.
Whether you want to use message expiration, redelivery limit, or redelivery delay very much depends on your specific use case.
-- Redelivery limits detect messages that are rolled back many times by receiving applications (rollbacks can occur due to any number of reasons, such as database failure, application bug, etc.)
-- Redelivery delays prevent rolled back messages from being immediately redelivered. This helps prevent zooming up CPU usage to 100% with tight loop retries of processing a problem message, assumes that whatever condition caused the original rollback is temporary, and assumes that if the message is immediately redelivered that this is too soon for the problem condition to have cleared up.
-- Expiration detects if a message has been sitting around for a long time. It doesn't detect whether the application has attempted to process the message...
In general, if you are coding a new application, it is sometimes helpful to avoid error destinations. Instead, let your application decide what to do with problem messages (such as queue them to another destination). This helps your application provide more customizable behavior.
Hope this helps,
Tom
PS Especially for developers new to WebLogic JMS, I highly recommend purchasing a copy of the book "Professional Oracle WebLogic". In addition, I recommend reading the new "Best Practices" chapter of the JMS configuration guide, and the new "Tuning Checklist" in the JMS chapter of the Performance and Tuning guide. These new sections are in the 10.3.2 documentation.

Similar Messages

  • 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]

  • 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

  • Error Destination in JMS Transport Configuration page (Proxy Services)

    Hi, Can anybody provides me the sample of Error Destination in JMS Transport Configuration page (Proxy Services) .I need to know the format. I am using "jms://<host:port[,host:port]*/factoryJndiName/destJndiName>", but it does not work.
    From Oracle webstie, http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/interopjms/transport.html, the detail description of Error Destination is " In this field you can configure the name of the target destination for the messages, which have reached the maximum number of retry count. "

    Can you provide the JNDI name of the error destination alone there ?

  • Format of "JMS Message Destination Parameter" for JMS Sender Adapter

    Hi,
    I am trying to use the JMS Sender Communication Channel for several Interfaces by using the "JMS Message Destination Parameter". Currently, the Comm.Channel is reading the message and puts it back on the queue with the following error:
    Fehler bei der XI-Eingangsverarbeitung für Message am bzw. um 2007-07-25|09:34:12.057+0200. JMS- und XI-Identifikatoren für die Message sind ID:414d512051535749515441302020202046a4e892201c4d04 bzw. 701ec850-3a81-11dc-8176-00306e2c36a3. Der JMS-Adapter führt einen Rollback der Datenbank und der JMS-Sitzungtransaktionen durch. Wird die Sitzung ausgeführt, geht die Message nicht verloren und wird später erneut durchgeführt. Der Ausnahme-Stack-Trace ist java.lang.RuntimeException: MQJMS0003: Destination not understood or no longer valid: UserCreateRequest
    at com.ibm.mq.jms.MQDestination.createDestination(MQDestination.java:790)
    at com.ibm.mq.jms.MQSession.createDestination(MQSession.java:1092)
    at com.ibm.jms.JMSMessage.getJMSDestination(JMSMessage.java:4127)
    What is the format I will have to fill this parameter with in order for XI to understand it? I have tried the following so far which did not work:
    1.   (as in error message above)
    Help much appreciated.
    KR,
    Colin.

    One option in BPEL is to have a mid process receive, but this would require you to handle the Correlation of the message with BPEL process instance.
    Please refer the following section in SOA Guide for the same.
    Using Correlation Sets and Message Aggregation - 11g Release 1 (11.1.1.7)
    Please note the example is with File adapter but the same can be achieved for Any Adapter.

  • Distinguishing between messages in the error destination

    Hi,
              First of all, I'm using Weblogic 8.1 SP4.
              I recognize that messages are delivered to the error destination if one of two situations occur:
              1) The message has reached the redelivery limit.
              2) The message has expired.
              In my message-driven bean that picks up messages from the error destination, I need to know the reason why a message ended up there. That is, I need to know whether it was expired or the redelivery limit was reached.
              Is this possible?
              Thanks in advance!
              Henrik Oddershede

    The JMS chapter of the book "Professional Oracle WebLogic Server" has a nice discussion of poison message handling.
    In your case, I'd recommend adding code to your inbound queue processing application to detect bad format messages and automatically redirect them to a separate queue for manual intervention. This would avoid mixing up the bad format messages with your automatically handled problem messages. You could then write a specialized application that your administrator can use to process the messages.
    Tom

  • 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
              >>
              >
              

  • 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
              

  • Examples for JMS Error Queue implementation in BPEL

    Hi ,
    Please anyone provide me examples for JMS error queue implementaion in BPEL.
    Regards
    Narsi p

    Hi Narsi p,
    Please remember to mark answers accordingly... Helpful or correct, following the forum rules
    https://forums.oracle.com/forums/ann.jspa?annID=330
    Can you tell us more about what are you trying to achieve here?
    If you are just trying to configure an error queue to put the messages that couldn't be delivered, you can do this in weblogic directly.
    Configuring an Error Destination for Undelivered Messages
    http://docs.oracle.com/cd/E17904_01/web.1111/e13727/manage_apps.htm#JMSPG254
    Cheers,
    Vlad

  • Publish directly on an error destination

    Hi,
              is it possible to publish directly on an error destintation ?
              my test fails so i was wondering if it was possible
              Thanks for any help,

    Sure, no problem. An error destination is just a regular JMS destination, so you can send to it directly or receive from it directly.

  • Problem Configuring JMS Error Queue

    Domain configuration : one adminServer, One cluster, 2 managedservers in cluster
    Two distibuted Queues: InboundQueue, Error Queue
    I want to redirect any bad message from InboundQueue to ErrorQueue and discard it.
    It worked fine for 4 yrs in Wls 8.1 ( did configured in 8.1)..
    now i upgrde to wls 10.1 and i did same configuration but InboundQueue is not redirecting to Errorqueue..
    Dont know where i am missing..
    here is the config.xml entry and jms/JmModule.xml files..
    config.xml entry_
    <jms-system-resource>
    <name>JmsModule</name>
    <target>cluster1</target>
    <sub-deployment>
    <name>subdeployment1</name>
    <target>JmsServer1,JmsServer2</target>
    </sub-deployment>
    <descriptor-file-name>jms/JmsModule-jms.xml</descriptor-file-name>
    </jms-system-resource>
    JmsModule.xml_
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/90" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xsi:schemaLocation="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
    <uniform-distributed-queue name="ErrorQueue">
    <sub-deployment-name>subdeployment1</sub-deployment-name>
    <delivery-params-overrides>
    <delivery-mode>Non-Persistent</delivery-mode>
    <time-to-deliver>-1</time-to-deliver>
    <time-to-live>-1</time-to-live>
    <priority>-1</priority>
    <redelivery-delay>-1</redelivery-delay>
    </delivery-params-overrides>
    <delivery-failure-params>
    <redelivery-limit>0</redelivery-limit>
    </delivery-failure-params>
    <jndi-name>ErrorQueue</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    </uniform-distributed-queue>
    <uniform-distributed-queue name="InboundQueue">
    <sub-deployment-name>subdeployment1</sub-deployment-name>
    <delivery-params-overrides>
    <delivery-mode>Persistent</delivery-mode>
    <time-to-deliver>10</time-to-deliver>
    <time-to-live>10</time-to-live>
    <priority>2</priority>
    <redelivery-delay>10</redelivery-delay>
    </delivery-params-overrides>
    <delivery-failure-params>
    <error-destination>ErrorQueue</error-destination>
    <redelivery-limit>1</redelivery-limit>
    <expiration-policy>Redirect</expiration-policy>
    </delivery-failure-params>
    <jndi-name>InboundQueue</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>10</forward-delay>
    </uniform-distributed-queue>
    </weblogic-jms>
    Any help
    Thanks
    ksr

    Are you still having a problem? If so, I recommend trying to simplify the reproducer by removing the "time-to-deliver", "redelivery-delay", and "time-to-live" settings.
    <time-to-deliver>10</time-to-deliver>
    <time-to-live>10</time-to-live>
    <redelivery-delay>10</redelivery-delay>
    Note that these are all set to a very small value (10 milliseconds), and that the message will expire before it can be delivered or redelivered. The delivery delay is 10 millis, so by the time the delivery delay completes, the time-to-live will have passed -- furthermore, if there was no delivery delay, the redelivery delay is at 10 millis -- so by the time the redel occurs the time-to-live expires).
    Tom

  • JMS Error when using OJMS/AQ in OC4J 9.0.2 but not in OC4J 9.0.3

    Hi,
    I tried to use OJMS/AQ as the JMS provider in OC4J 9.0.2 and OC4J 9.0.3. Resource providers in both the containers point to the same Oracle database (9.0.1.3.0) using the same user account.
    JMS works fine with OC4J 9.0.3 but not with OC4J 9.0.2.
    During the start-up of 9.0.2 container, it successfully connects with Oracle AQ, finds queues in AQ but finally comes back with an error message saying "JMS Error: invalid arguments in call". It does not provide any more information about the error.
    Does any one have got any clue why this error message occur during startup? Any assistance is appreciated.
    The following is the definition of Resource provider in config/application.xml:
    <resource-provider class="oracle.jms.OjmsContext" name="ispojms">
    <description> OJMS/AQ </description>
    <property name="url" value="jdbc:oracle:thin:@Hduna1.corporatetesth.nsw.edu.au:1527:ISP"></property>
    <property name="username" value="ISPDBA"></property>
    <property name="password" value="******"></property>
    </resource-provider>
    The user ISPDBA is given all privileges for AQ in Oracle DB.
    The Message Driven Bean's definition in deployment descriptors:
    Ejb-jar.xml:
    <ejb-jar>
    <enterprise-beans>
    <message-Long postings are being truncated to ~1 kB at this time.

    Hi Balaji,
    What most likely is happening is that you have mismatched versions of apapi.jar (client side) and the database, thus the reason for the "invalid arguments in call" error you're seeing.
    If you're using 9.0.1.3 of the database it should be patched with patch #2416054. Go to Metalink and do a search for this patch to find it. You can then use the apapi.jar that comes with the patched version of the DB or the apapi.jar that comes with v9.0.3.
    By the way, v9.0.3 and 9.0.1.3 + patch is a J2EE 1.3 compatible JMS server.
    I'm guessing that you used the apapi.jar that came with v9.0.2 with the v9.0.1.3 database and that you've probably already applied the above patch. If you have then just take the apapi.jar that came with v9.0.3 and use it in your v9.0.2 environment.
    In short:
    v9.0.3 apapi.jar matches with v9.0.1.3 + patch
    v9.0.3 apapi.jar also matches with v9.0.1.4
    v9.0.2 apapi.jar matches with v9.0.1.3
    Hope this helps...
    John
    Hi,
    I tried to use OJMS/AQ as the JMS provider in OC4J 9.0.2 and OC4J 9.0.3. Resource providers in both the containers point to the same Oracle database (9.0.1.3.0) using the same user account.
    JMS works fine with OC4J 9.0.3 but not with OC4J 9.0.2.
    During the start-up of 9[i]Long postings are being truncated to ~1 kB at this time.

  • XI 7.0 NW 2004s install - JMS Errors in applications.log & defaultTrace

    We just installed XI 7.0 NW 2004s.  The installation of XI 7.0 NW 2004s is a lot simpler than XI 3.0 NW 2004 since the Template installer runs most of the post installation steps.
    However, there are a few issues that I am encountering that i did not see with XI 3.0 installations.  The installation is on Windows 2003 server and SQL server 2005.
    Checking the applications.log file through Visual Administrator LogViewer, I see that the Applications log is filing up every few seconds with the following repeating errors:
    Message -
    Exception on server occured! Internal error.
    Additional Information -
    Category : /Applications/JMS
    Message ID : 001422B146E800750000070D0000013000041A845FCB659B
    Source Name : /Applications/JMS
    Thread : SAPEngine_Application_Thread[impl:3]_26
    Application :
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : d16ec30026fd11dbb450001422b146e8
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives : com.sap.jms.client.session.Session
    Resource Bundlename :
    Session : 0
    Source : /Applications/JMS
    ThreadObject : SAPEngine_Application_Thread[impl:3]_26
    Transaction :
    User : J2EE_GUEST
    Message -
    Exception on server occured! Cannot write to transaction log TXf48.tx.
    Additional Information -
    Category : /Applications/JMS
    Message ID : 001422B146E800750000070A0000013000041A845FCB4CC8
    Source Name : /Applications/JMS
    Thread : SAPEngine_Application_Thread[impl:3]_26
    Application :
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : d16ec30026fd11dbb450001422b146e8
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives : com.sap.jms.client.session.Session
    Resource Bundlename :
    Session : 0
    Source : /Applications/JMS
    ThreadObject : SAPEngine_Application_Thread[impl:3]_26
    Transaction :
    User : J2EE_GUEST
    In the defaultTrace.trc file, i see the JMS error too:
    Message -
    Error From List = javax.jms.JMSException: Internal error.
         at com.sap.jms.protocol.notification.ServerExceptionResponse.getException(ServerExceptionResponse.java:271)
         at com.sap.jms.client.session.Session.checkReceivedPacket(Session.java:1808)
         at com.sap.jms.client.session.Session.rollback(Session.java:300)
         at com.sap.jms.client.session.Session.close(Session.java:158)
         at com.sap.jms.client.xa.SessionAdapter.close(SessionAdapter.java:52)
         at com.sap.engine.services.jmsconnector.spi.ManagedSession.sessionClosed(ManagedSession.java:279)
         at com.sap.engine.services.jmsconnector.cci.SessionImpl.close(SessionImpl.java:119)
         at com.sap.aii.af.protocol.ispeak.services.timer.impl.ISPEventSession.close(ISPEventSession.java:262)
         at com.sap.aii.af.protocol.ispeak.services.timer.impl.ISPTimerEvent.timeout(ISPTimerEvent.java:361)
         at com.sap.engine.services.timeout.TimeoutNode.run(TimeoutNode.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
    Additional Information -
    Category : /Version
    Message ID : 001422B146E8008B000007340000013000041A847A0F6CB9
    Source Name : com.sap.aii.af.protocol.ispeak.services.timer.impl.ISPEventSession
    Thread : SAPEngine_Application_Thread[impl:3]_98
    Application :
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : d815880126fe11db9edc001422b146e8
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives : /Version
    Resource Bundlename :
    Session : 0
    Source : com.sap.aii.af.protocol.ispeak.services.timer.impl.ISPEventSession
    ThreadObject : SAPEngine_Application_Thread[impl:3]_98
    Transaction :
    User : J2EE_GUEST
    This is filing up both the applications.log and defaultTrace files.  I cannot find any information through Service Marketplace.  Has anyone encountered this issue?  This is new installation - no messages are running on it so I am not sure why there is a JMS error.
    Regards,
    Jay

    Hi Jay,
    The exception means that the JMS Provider is not able to write to the transaction log file upon close of a transacted session. In NW04s, JMS transactions are stored as files on the local file system. The location of the root folder where the transactions are persisted is configured by the JMS service property "transactionStorePath". You can check its value through the Visual Administrator -> Services-> JMS Provider -> Properties. Please check if it contains a correct directory path and that nothing prevents the server from writing to this path - access rights, enough disk space, etc. If there is something wrong with the path, you can change it, save the change and restart the JMS provider service for the change to become effective.
    You can also have a closer look at the server trace file: the root cause of the above exception is some other exception, probably I/O one, and it should be logged somewhere in adjacency to the JMS exception.
    There is ongoing JMS communication even in a new server installation - in this case (judging from the stack trace) the component that performs this JMS activity is the timeout service.
    Hope this helps,
    Stoyan

  • JMS error while configuring SLD

    HI folks,
    I'm, encountering a tricky problem while connecting the SLD to the SolMan - running on the same host.
    During making all neccessary steps it was no longer possible to log on to the
    J2ee-Engine by /nwa or whatever application.
    It just shows User locked or ONKNOWN ERRR
    We unlocked the J2ee_admin again (strage, because the cause in Configtool was "locked after 0 unsuccessfull logins" weired! )
    Then unset again the Superadmin, restartet the server... and again:
    Application cannot be started.
      Details:   com.sap.engine.services.deploy.container.ExceptionInfo: JMS error.
    Back to Superadmin Mode, Unlocking J2ee_admin, starting application manually in this mode, it comes up - I can see a loginscreen again but of course cannot login while superadmin mode is active...
    After restarting cluster... same effect.
    It seems, that the JMS cannot start due to locked User J2ee_admin and afterwards no other application is able to run.
    Does anybody know, why this User J2ee_admin might be locked just before the JMS Service is started ?
    Many many thanks in advance for any hint. Struggling since 2 days with this issue.
    Nicolas

    Problem is solved... Logging in to Abap Part in UME-Linked CLient 001 and unlocking j2ee_admin did what VA was not able to...

  • LoadBalancer URL in JMS Bridge Destinations

    Hi,
    This is related to Message Bridge Setup.
    Can we use load balancer URL instead of Managed server individual URL(port) in setup of JMS Bridge Destinations(Connection URL)
    Say for example like t3://integration.stage.life:5555 instead of regular t3://f3aos.stage.life:7001 URL
    Soa_domain-> Services-> Messaging-> Bridges -> JMS Bridge Destinations-> New
    Name: SOTOPIC1
    Adapter JNDI Name:Adapter JNDI Name
    Connection URL: Load balancer URL like like t3://integration.stage.life:5555 instead of regular t3://f3aos.stage.life:7001 URL??
    Connection Factory JNDI Name:jms/SOTOPIC_CF
    Destination JNDI Name:Destination:jms/SOTOPIC
    We tried to give loadbalancer URL in the above configuration and it did not work where as if we regular managed server URL(port) it works?
    Is there any additional configuration required for Loadbalancer URL to work?
    Thanks

    Can anybody please help me?

Maybe you are looking for

  • '{' Key not working with Apple Keyboard in Windows & Visual Studio

    Good morning, I've been bugged by this forever now and tried it with Windows XP, Vista and 7 now on my macPro & (the latest version of) Bootcamp: I can type the { and } brackets just fine in most windows apps (e.g. start > run etc), but in visual stu

  • Alpha Channel ghosting

    I exported a Motion title project into FCP5.2 as a lossless alpha channel and I'm getting ghost images of the titles as they fade in from center over a color (orange) background in FCP. Basically, you can see gray images of the words before they fade

  • CSS files won't upload to server after update

    Hi, I checked 'Automaticaly upload files to server on save' But it when I make changes to the css in the css panel or in the file, the css file is never put on the server. Even if I open the css file and save it, it still doesn't get put on the serve

  • 8510 wireless controllers configured as HA and providing extra redundancy

    I have two 8510 wireless controllers connecting to each other via the redundancy port, one WLC is the active controller and the 2nd WLC is the standby controller. Each WLC connects to a pair of Nexus 9708 distribution/router using Port1 and Port2. I

  • FAQ: Where can I get help with downloading and installation?

    See this page for options for contacting Adobe regarding problems with downloading and installation: "Contact support - download and installation" You can ask questions and search for answers on the Adobe user-to-user forum dedicated to downloading,