Foreign JMS Server Persistance\Retry in case Remote JMS Provider goes down

Hi All
I would need more clarity on this. How does the Foreign JMS Server behave in case the remote JMS provider goes down. Does it take the message from the Publishing Proxy Service and retries\persists the JMS Message till the remote provide is up?
Please let us know. This would effect our design as retrial is very important here. Thanks

If you want to provide guaranteed delivery with automatic retries when using remote JMS implementations, there are multiple ways to implement it:
1. While reading from a foreign JMS destination
Create a Foreign JMS server using transactional drivers (use XA in case of JMS). The messages remain on remote server JMS queue and OSB proxy polls the message directly on remote server. So if Remote Server is down OSB will not be able to read the message. Once remote server is up OSB will pick up the message (as long as foreign JMS server provides persistence and maintains the messages in the queue during a server restart). In case of error in OSB foreign queue can do retry if it provides a retry mechanism.
2. While writing the message to a foreign JMS destination
a. Use a foreign JMS server using transactional connection. Put the retry mechanism in OSB Business service which writes to the foreign JMS/MQ queue. In case of failure Business Service can retry based on configuration. If you want to provide guaranteed delivery then create a local JMS queue to store the messages. So when remote destination is down for a long time undelivered messages will be rolled back to the local queue. You can put retry mechanism on the local queue.
b. Use a messaging bridge which will write the messages to the remote destination. You can configure retry delivery rules in messaging bridge so once busienss service writes the message to the bridge, a SAF agent will ensure the delivery to remote destination whenever it is up.

Similar Messages

  • Bea weblogic jms server to sun seebeyond IQ Manager jms server

    Dear All
    I am working on Bea web logic webserver.
    Now I want deploy message driven bean in it to listen remote queue, which resides in Sun see beyond IQ manager. So is it possible? If yes give me suggestion.
    And both jms servers context was different.
    Thanks
    Vijay

    I am seeing this same error. Was there any resolution to this? We are running WLS 8.1 SP3 on Solaris.
    Thanks

  • A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (p

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that
    the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)(Microsoft SQL Server, Error: 2)
    The system cannot find the file specified
    Cannot connect to COWBOYS.
    Here are the technical details===================================
    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider:
    Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (.Net SqlClient Data Provider)
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476
    Error Number: 2
    Severity: 20
    State: 0
    Program Location:
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
       at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
       at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer
    timeout)
       at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance,
    SqlConnectionString userConnectionOptions, SessionData reconnectSessionData)
       at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
       at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
       at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
       at System.Data.SqlClient.SqlConnection.Open()
       at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server)
       at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
    ===================================
    The system cannot find the file specified
    I have tried from so many forms. This is so frustrating. Thank for everyone/anyone who wants to help. So this is what happened: I had to uninstall my previous sqlserver 2012(which worked great) for some reason, and I uninstalled everything from that download.
    Then I installed the trial edition of sql server 2012 (64 Bit) and It wouldn't connect to the database. (Error mentioned above.) My local DB is COWBOYS. (COWBOYS is also my computer name.) After this, I have tried downloading sqlexpress and sqlserver 64bit
    many times and cannot connect to my local DB. 
    How do I connect to my Local DB? 
    Also, I think this might help: (When I run sqlserve.exe, which I was able to find in C:\Program Files\Microsoft SQL Server\110\LocalDB\Binn, I get an error: Your SQL server installation is either corrupt or has been tampered with(Error getting
    instance ID from name). Please uninstall then re-run setup to correct this problem.
    I would happily re install it, if it wasn't my 20th time.
    I don't have any remote connections, I don't use username/password, only window authentication. I work mostly on visual studio, but without able to store /retrieve data, I don't know how to survive.
    May be the solution is very simple, but I am too frustrated. 
    Some of the things I have tried:
    From a command prompt, enter one of the following commands:
    net start "SQL Server Agent (MSSQLSERVER)" OR 
    net start "SQL Server Agent(instancename)"(for instance)
    on my sql configuration, I cannot start anything because there is nothing there to start. I can post more details, if that would help. Also, some more details about the error:
    Details
    Product:
    SQL Server
    ID:
    2
    Source:
    MSSQLServer
    Version:
    10.0
    Component:
    SQLEngine
    Message:
    An error has occurred while establishing a connection to the server. When connecting to SQL Server, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error:
    40 - Could not open a connection to SQL Server) (.Net SqlClient Data Provider)
    Explanation
    SQL Server did not respond to the client request because the server is probably not started.
    User Action
    Make sure that the server is started.
    Version:
    9.0
    Component:
    SQLEngine
    Message:
    An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error:
    40 - Could not open a connection to SQL Server) (.Net SqlClient Data Provider)
    Explanation
    SQL Server did not respond to the client request because the server is probably not started.
    User Action
    Make sure that the server is started.
    Any one that can help me, I will be greatful. Thank you so much. p.s. please ask me anything if you have any questions.

    It sounds like there are a couple things going on here.  First check if you have a successful install of SQL Server, then we'll figure out the connection issues.
    Can you launch SQL Server Configuration Manager and check for SQL Server (MSSQLSERVER) if default instance or SQL Server (other name) if you've configured your instance as a named instance.  Once you find this, make sure the service is started. 
    If not started, try to start it and see if it throws an error.  If you get an error, post the error message your hitting.  If the service starts, you can then launch SSMS and try to connect.  If you have a default instance, you can use the machine
    name in the connection dialog.  Ex:  "COWBOYS" where Cowboys is the machine name.  However, if you named the SQL Server instance during install, you'll need to connect using the machine\instance format.  Ex:  COWBOYS\Romo (where Romo
    is the instance name you set during install).
    You can also look at the summary.txt file in the SQL Server setup error logs to see what happened on the most recent install.  Past install history is archived in the log folder if you need to dig those up to help troubleshoot, but the most
    recent one may help get to the bottom of it if there is an issue with setup detecting a prior instance that needs to be repaired.
    Thanks,
    Sam Lester (MSFT)
    http://blogs.msdn.com/b/samlester
    This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click
    "Mark as Answer" and
    "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread.

  • Migratable JMS server

    Hello!
    Weblogic 10.3.6
    I just trying to create JMS cluster.
    First i have two managed servers (MS1 and MS2) in the same domain (DOMAIN1) and in the same cluster (CLUSTER1). Cluster have not any additional settings related to migration options.
    Then i create file store "FS1" with target "MS1 (migratable)".
    Then i create one JMS server "JMSS1" with target "MS1 (migratable)" and with file store FS1.
    Then i create connection factory "CF1" with target CLUSTER1.
    Then i create distributed queue "Q1" with target CLUSTER1.
    May i hope with this configuration that Q1 will jump to MS2 in case of fail on MS1?

    Hi,
    Please follow the below steps for the automatic migration:
    1. First cluster needs to be configured for automatic server migration:
    Home->Cluster->configuration ->Migration -> Lock and Edit ->Choose Migratable machine for automatic server migration ->Data Source For AUtomatic Migration(Choose Datastore for automatic server migration) -> Click on Save
    2. Environment -> Migratable target -> click on the migratable target -> Click on Migration -> select the Constrained Candidate Servers -> select service migration policy as Automatic Migrate Failure Recovery services -> Save and activate changes
    3. Need to create a table called ACTIVE in the DB and the ddl script is located under($WL_SERVER/wl_server_10.3/server/db/oracle/920) query name:leasing.ddl
    4. Create a Non XA data source(While selecting the driver you should select the Non XA driver) and in the transaction tab of the data source uncheck the global transaction option. Also the data source should point to cluster.
    5. The data source created in the step 4 should be used in the JDBC Persistence store and also can be used in Cluster data source. The JDBC persistence store should be used in the JMS server and the JMS Server should be used in the JMS Queue.
    Regards
    Asutosh Kar

  • After restoring SharePoint farm backup ( The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connection)

    Hi,
    I have taken farm back and restore it in new UAT environment, while access to the main site getting the below error: 
    Error  
    An unexpected error has occurred. 
    Troubleshoot issues with Microsoft SharePoint Foundation. 
    Correlation ID: 866476f3-23dd-4e1e-97af-bffc62cc2d57 
    Date and Time: 7/15/2014 11:26:35 AM 
    When i checked in log i got below error
    System.Data.SqlClient.SqlException: A network-related or instance-specific
    error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40
    - Could not open a connection to SQL Server)    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)     at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
    stateObj)     at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecu... 
    Thanks in advance
    Said Al Balushi

    Hi Wendy,
    i have checked all below points, every thing is fine but still i am getting the same error.
    Check SQL services are runing
    Check remote conenctions are enabled
    Check SQL Browser service is runing
    Check TCP/IP protocal enabled at SQL server
    Check out windows firewall setting
    Thanks,
    Said
     

  • A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The
    server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26- Error:Locating Server\instance Specified)
    How Can i solve this?

    1. Make sure SQL Server Service is running
    2. If a named instance, make sure SQL Server browser service is running
    3. Make sure SQL Server is configured to allow remote connections
    4. Examine the SQL Server error log for messages confirming that SQL is listening on the expected network interfaces and ports
    5. Test server connectivity with PING from the client machine
    6. Test port connectivity using TELNET or PowerShell to the server and port (from step 4) from the client machine.  For example
    a. TELNET <server-name> 1433
    b. PowerShell: 1433 | % { echo ((new-object Net.Sockets.TcpClient).Connect("YourServerName",$_)) "server listening on TCP port $_" }
    7. Check firewall settings if step 5 or 6 connectivity test fails
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How the JMS client detect if the JMS server is still running?

    I have a JMS server running on Weblogic and a JMS client running as a standalone application on my local machine. I ran into the problem that if the JMS server is down for a period of time and then get re-started, the JMS client will lose its connection to the server. Since JMS client is just passively listening to the topic it subscribes, it will have no information about the status of the JMS server. Therefore it will not be able to receive any new message if the JMS server is restarted.
    I wonder if there is a way I can have the JMS client automatically detect if the connection to the server is lost or reset. I tried to use a while loop in JMS client that does a JNDI loopup every minute to check if the JMS server is up. But if the WL server is down, the JMS client will just catch an exception and crash.

    Hi,
    You should use an exception listener that allows a client to be notified of a problem asynchronously. As your client only consumes messages, it would have no other way to learn that its connection has failed.
    Hence, you should implement the interface ExceptionListener (let says MyExceptionListener) and define your reconnection logic in the method onException(JMSException exception). MyExceptionListener has to be registered with your connection with the method:
    public void setExceptionListener(ExceptionListener listener) throws JMSException
    Hope it helps,
    Arnaud
    www.arjuna.com

  • What is the association between JMS Server and JMS Module in weblogic 10?

    Hi,
    I have a created a ConnectionFactory, Queue, Topic under JMS Modules in Weblogic Server 10 using admin console.
    And I have created a JMS Server and Targetted to the current running server (Admin Server).
    But when I run the Queue Sender program it is unable to LookUP the jndi which I gave for Queue.
    queue = (Queue) initialContext.lookup("jndi_queue");
    Exception:
    javax.naming.NameNotFoundException: Unable to resolve 'jndi_queue'.
    But I configured this jndi name when I create the Queue in JMS Module in Weblogic Server 10.
    How JMS Module and JMS server are associated.
    My Doubt is if i have several JMS Modules and only one JMS Server created then how does the JMS Server identifies which Queue/Topic belongs to which JMS Module????
    Please advice.
    Thanks....

    Hi,
    Once you have JMS servers configured:
    Step 1: Target the JMS configuration module to the cluster that will host the destination, or, if not using clustering, target the module to the individual WL server that will host the JMS server.
    Step 2: Configure a "subdeployment" for the module and set it to reference the exact JMS server(s) that will host the destination. If you're using a distributed desitnation, you can specify multiple JMS servers, if you're using a regular destination, only specify a single destination.
    Step 3: Create a destination resource in the module, and set its subdeployment to the subdeployment you specified in step 1 (the console calls this "advanced targeting"). As a best practice avoid the "default targeting" option for the resource - always choose subdeployment (advanced) targeting.
    For more information, reference the "best practices" chapter of the JMS configuration guide:
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13738/best_practice.htm#CACJCGHG
    I also I highly recommend the JMS chapter of the book "Professional Oracle WebLogic".
    Hope this helps,
    Tom

  • JMS Server Target & Deploy error

              Hi All,
              I am getting the error while creating the JMS Server.
              I have created the JMS Server and on Target and Deploy tab,when I select the server
              name as target and hit the Apply button, I get the following error
              An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
              what could be the reason?
              Thanks
              WD
              

    It still seems like it is your app that is throwing the exception.
              If you post the full log message, not just the excerpted text,
              the problem might be self evident.
              WD wrote:
              > The applications code is fine. With the same ear file,I am getting this error
              > intermittently. My suspicions is that sometimes when I redeploy the same application(without
              > anything changed), wls does not deploy it properly. Because when I was getting
              > this error,I just undeployed and deployed the app and it worked.
              > Have you seen this kind of behavior with wls?
              >
              > Thanks
              > WD
              >
              >
              >
              > Tom Barnes <[email protected].bea.com>
              > wrote:
              >
              >>It is unusual not to have a full stack trace - particularly
              >>for application generated exceptions. My first
              >>suspicions is that your app is creating a producer
              >>without specifying a destination (a non-pinned producer),
              >>and then attempting to send a message without specifying
              >>a destination.
              >>
              >>WD wrote:
              >>
              >>>The only log message I have is the one I posted earlier. It is from
              >>
              >>the log file.
              >>
              >>>
              >>>
              >>>Tom Barnes <[email protected].bea.com>
              >>>wrote:
              >>>
              >>>
              >>>>OK. For this new exception, do you have the full
              >>>>log message/stack trace?
              >>>>
              >>>>WD wrote:
              >>>>
              >>>>
              >>>>
              >>>>>I just left the app alone for the weekend and when I tried to do it
              >>>>
              >>>>again today,it
              >>>>
              >>>>
              >>>>>just worked. I do not know what was wrong with it on friday.
              >>>>>
              >>>>>But now I am running into another weird error. I have deployed my
              >>
              >>application
              >>
              >>>>>and it works fine and MyMDB also works fine. But sometimes I am getting
              >>>>
              >>>>the following
              >>>>
              >>>>
              >>>>>error. It is happening very intermittently.
              >>>>>
              >>>>>Exception in MyMDB.onMessage()Must provide destination
              >>>>>
              >>>>>Thanks
              >>>>>WD
              >>>>>
              >>>>>
              >>>>>Tom Barnes <[email protected].bea.com>
              >>>>>wrote:
              >>>>>
              >>>>>
              >>>>>
              >>>>>>Do you have the full log message/stack trace?
              >>>>>>
              >>>>>>WD wrote:
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>>Hi All,
              >>>>>>>I am getting the error while creating the JMS Server.
              >>>>>>>I have created the JMS Server and on Target and Deploy tab,when
              >>
              >>I
              >>
              >>>>select
              >>>>
              >>>>
              >>>>>>the server
              >>>>>>
              >>>>>>
              >>>>>>
              >>>>>>>name as target and hit the Apply button, I get the following error
              >>>>>>>
              >>>>>>>An unexpected error occurred while setting Target to mydomain:Name=myserver(migratable),Type=MigratableTarget.
              >>>>>>>
              >>>>>>>what could be the reason?
              >>>>>>>
              >>>>>>>Thanks
              >>>>>>>WD
              >>>>>>>
              >>>>>>>
              >>>>>>
              >
              

  • Foreign JMS Server - Weblogic 8.1 - Weblogic 8.1

    Hi
    I have to weblogic servers running on different ports.
    http://server1:port1
    http://server2:port2
    I have configured JMS store, JMS server, Destination (queue) in port2. I am able to send messages and retrieve messages in port2.
    I have written a MDB which was deployed in server1. I want to process the Messages posted to server2 destination. I tried to configure foreign JMS server in server1.
    In both servers, i am using default connection factories only.
    I am getting the following exceptions.
    ForeignMDB is unable to connect to the JMS destination: LocalTestingQueue
    LocalTestingQueue is the local jndi name given to the foreign destination.
    please find below the weblogic.xml entries for MDB
    <weblogic-enterprise-bean>
         <ejb-name>ForeignMDB</ejb-name>
         <message-driven-descriptor>           <destination-jndi-name>LocalTestingQueue</destination-jndi-name>           <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              <provider-url>http://myserver:26565</provider-url>          <connection-factory-jndi-name>weblogic.jms.ConnectionFactory</connection-factory-jndi-name>
         </message-driven-descriptor>
    </weblogic-enterprise-bean>
    could you please guide me to complete this?
    Thanks in advance
    Srinivas

    1 - Ensure that the MDB is configured to reference the remote connection factory AND remote destination.
    2 - If using the foreign JMS server facility, ensure that it defines the URL of the remote cluster/server, a connection factory mapping, and a destination mapping. Also ensure that the MDB connection factory and destination descriptor fields reference the local JNDI names for the mappings.
    3 - If not using the foreign JMS server facility, ensure that the MDB descriptor has the URL of the remote cluster, and a destination JNDI name that's in the remote cluster. (The connection factory JNDI name is not needed in this case, as the MDB will automatically look for a default connection factory that MDB's use.)
    I think the MDB chapter of the EJB programmer's guide will likely be helpful here. The latest documentation for the latest release may be more up-to-date than 8.1 -- the concepts are the same with the newer releases.
    Tom

  • MDBs failed to connect to remote JMS server

    Hi,
              We currently have 2 clusters: one is a regular cluster (cluster1) and the other is JMS cluster (cluster2). Our JMS server and filestore are targeted to a migratable server in JMS cluster.
              In our weblogic-ejb-jar.xml, we added element <provider-url> to the <message-driven-descriptor> to allow JMS remote connection as follows:
              <weblogic-enterprise-bean>
                   <ejb-name>MyBean</ejb-name>
                   <message-driven-descriptor>
                        <destination-jndi-name>MyTopic</destination-jndi-name>
              <provider-url>t3://myhost:19009,myhost:19011</provider-url>
              <connection-factory-jndi-name>MyConnectionFactory</connection-factory-jn
              di-name>
                   </message-driven-descriptor>
              </weblogic-enterprise-bean>
              When we deployed our application, the Connection Status of MyBean showed "disconnected". I have tried different values (t3://myhost:19009;t3://myhost:19011) and
              (t3://myhost:19009) but got the same result.
              When I re-targeted the JMS server and filestore to a regular server (instead of migratable server), I was able to connect remotely. But because we want to be able to migrate our JMS server (auto and manually), I have to target it to a migratable server.
              I could not figure out why my MDBs failed to connect to a remote JMS server when it is targeted to a migratable server? Is there a restriction that we have to target to a regular server in order to connect remotely or I'm doing something wrong?
              Any help would be greatly appreciated.
              Thanks,
              Thao

    I'm using WL9.2 and my migratable server is actually up and running (is that what you mean about booted?).                    I meant checking your log files to make sure that the JMS server itself actually booted, not checking that the host WL server was up. (For example you should see INFO messages indicating that the JMS server has loaded "X" records from its persistent store).
              >>> Could you elaborate on the known problem?
              9.x MDBs have special code for enhanced handling of remote distributed destinations. I'm guessing that this code is somehow causing problems when the remote JMS server is migratable. I don't have enough information to elaborate further than that.
              >>> What else I can try?
              Beyond contacting customer support, I'm not sure.
              Tom

  • MDB for Foreign JMS server

    I am trying to access MQ que with Message Driven bean in weblogic 8.1.
              I have defined Foreign JMS server in weblogic pointing to MQ JNDI name.
              I am not sure what to define in "weblogic-ejb-jar.xml" and "ejb-jar.xml" to refer to que connection factory and que.
              Error message that I am getting while deploying is as follows:
              <The Message-Driven EJB: MesssageHandlerBean is unable to connect to the JMS destination: jms.MediaQueue. The Error was:
              [EJB:011010]The JMS destination with the JNDI name: jms.MediaQueue could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination has been deployed.>
              Looks like it weblogic is not able to identify JNDI name that I have defined in foreign server for remote que.
              Please let me know how i can reference foreign JMS server JNDI names.
              Thanks a bunch for help.
              Please find attached configuration files.
              weblogic-ejb-jar.xml
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>
              jms.MediaQueue
              </destination-jndi-name>
              <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
              </initial-context-factory>
              <provider-url>file://localhost/d:/mqm</provider-url>
              <connection-factory-jndi-name>
              jms.MediaQcf
              </connection-factory-jndi-name>
              </message-driven-descriptor>
              <jndi-name>MesssageHandlerBean</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              ejb-jar.xml
              <enterprise-beans>      
              <message-driven>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <ejb-class>com.ejb.MesssageHandlerBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              weblogic "config.xml" for foeign JMS server.
              <ForeignJMSServer ConnectionURL="file://localhost/d:/mqm" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              JNDIProperties="" Name="MQJMS Server" Targets="cgServer">
              <ForeignJMSConnectionFactory LocalJNDIName="jms.MediaQcf"
              Name="MQ JMS Connection Factory" PasswordEncrypted=""
              RemoteJNDIName="jms/lMediaQcf" Username=""/>
              <ForeignJMSDestination LocalJNDIName="jms.MediaQueue"
              Name="MQJMS Destination" RemoteJNDIName="jms/IMediaQueue"/>
              </ForeignJMSServer>
              Message was edited by:
              [email protected]
              Message was edited by:
              [email protected]

    Thanks for going over the problem it is resolved now by changing weblogic-ejb-jar.xml. To point to weblogic initial context factory. Since weblogic has a foreign server defined so MDB is able to read from MQ que.
              Thanks
              Akash
              <weblogic-enterprise-bean> <ejb-name>MesssageHandlerBean</ejb-name> <message-driven-descriptor> <destination-jndi-name>jms.MediaQueue</destination-jndi-name> <initial-context-factory> weblogic.jndi.WLInitialContextFactory</initial-context-factory> <provider-url>t3://localhost:7001</provider-url> <connection-factory-jndi-name>jms.MediaQcf</connection-factory-jndi-name> </message-driven-descriptor> <jndi-name>MesssageHandlerBean</jndi-name> </weblogic-enterprise-bean>

  • Messaging Bridge/Foreign JMS Server

    Can someone clarify what is the difference in using messaging bridge or Foreign JMS Server in listening to a topic from other weblogic server of same version.
    Edited by: user11359157 on 6 Jul, 2009 3:17 PM

    I always thought one has to use remote classes from the foreign JMS server in local the classpath to send or receive messages stored at
    the foreign JMS server / the remote side.
    <Jayesh> that is true of the remote side of the JMS is non-weblogic. </Jayesh>
    Also in the WLS bridge this can be specified. IMHO the bridge has the advantage that I can use the wls classe and the bridge knows
    the classpath and bridges to the foreign jms server, so the application developer doesn't have to use foreign classes, eg. tibco or mq.
    <Jayesh> When you have remote JMS is WebLogic it is obvious considering that both remote and local jms uses same weblogic classes. </Jayesh>
    Now, where does this happen for the foreign jms server (which is kind of alternative to wls bridge, without store and forward)?
    All I can see is a local JNDI lookup being translated to a remote one.
    Is really the local JMS implementation used to talk to the remote JMS server?
    When a JNDI lookup for a queue happens will then be WLS queue implementation returned?
    <Jayesh> No there is not local JMS store is used. Foreign JMS server just provides administrative convenience by moving remote JMS destination JNDI definitions in local JNDI definition. It allows to use this local definition by all EJBs, servlets and messaging bridges. If the remote definitions changes you can change those definition in admin console and does not need change in deployment descriptors of the EJBs and servlets to prevent redeployment. Again this is no administrative convenience and during run time it will behave exactly same as you are sending or receiving message directly from remote JMS destination.
    </Jayesh>
    Hope this clears confusion.
    jayesh@yagna

  • WLS 11g, define foreign JMS server

    Hi,
    I want to define JMS server on my server A and set on this A JMS server foreign destination to the JMS server B.
    On server A i defined:
    - JMS server and set target
    - JMS modules (set subdeployment, Connection Factory, Uniform Distributed Queue, JNDI Name, subdeployment)
    And i dont know where can i set destination foreign JMS server ? I have to define:
    - at JMS server: JNDI Connection URL: t3://XXX.0.22.191:7004,
    - at factory: Remote JNDI Name: Jms.VI and user name
    - at destination: Remote JNDI Name: Jms.queue.NOTIFICATIONS
    can you help me?
    thanks

    http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/taskhelp/jms_modules/foreign_servers/ConfigureForeignServers.html

  • Do I need a Foreign JMS Server?

              Initially, I had an exploded web application, an ejb jar, a jms server, a connection
              factory and a queue all deployed under one weblogic instance. I am now trying
              to move the jms configuration to another machine running weblogic. However, I
              am unsure whether I need to configure a Foreign JMS Server on the initial weblogic
              instance. I have tried to do so and I cannot successfully start the connection
              from my web/ejb app (i.e., myQueueConnection.start() throws an exception - weblogic.jms.common.JMSException:
              Connection not found).
              I saw a thread here about changing the names of the JMS Servers, so I configured
              my web server with a foreign jms server (ForeignMessageServer) and I configured
              one foreign connection factory and one foreign destination. The local jndi names
              of these are unique and different from the remote jndi name. The remote jndi names
              match the names of the connection/destination on the app server (my 2nd server).
              I am using the url of the web server as my provider url and the foreign connection
              factory local jndi name to look up the connection.
              I have two questions:
              Is it necessary to use a foreign jms server configuration to implement this structure?
              If a foreign jms server configuration is necessary, am I going about this correctly?
              Thanks,
              John
              

    It certainly will work. Basically, all it does is move information like the
              JNDI provider name and URL from your deployment descriptors into config.xml.
              For a lot of applications, that's a big help. You can use the "Foreign JMS
              Provider" support anywhere you want to create a JNDI entry on your local
              server that points to something else. You can even use it to point to a JMS
              queue, topic, or connection factory in the same cluster, or the same WLS
              server if you want. I do this for testing so I don't have to have different
              versions of my EJB for different environments.
              As for the bridge, it depends on whether you need to interact with the JMS
              provider synchronously or asynchronously. When you use the bridge, you first
              put the message on one JMS queue or topic, and the bridge copies it to the
              other. So, if the foreign provider is down, you can still send messages.
              However, using the bridge adds an extra "hop" which will slow performance.
              greg
              <[email protected]> wrote in message news:[email protected]...
              > Hi Tom,
              >
              > If I have 2 WLS servers: server1 and server2 and they are NOT in the same
              > cluster. server1 wants to send a JMS message to server2. I know I can
              > achieve the desired result using your 3 suggestions below but would
              using
              > foreign JMS server works as well? When should I use foreign JMS server
              > instead of a messaging bridge?
              >
              > Thanks,
              >
              > Vincent
              >
              >
              >
              > "Tom Barnes" <[email protected]> wrote in message
              > news:[email protected]...
              > > If both weblogic servers participate in the same cluster
              > > there is no additional configuration needed.
              > > All servers in cluster share the same JNDI
              > > name space. Simply specifying a JNDI name
              > > (as you already must have done) is enough
              > > for any server in the cluster, or any client connected
              > > to the cluster, to find a JNDI resource that is hosted
              > > on any server in the cluster (such as queue).
              > > This location transparency is one of the primary
              > > benefits of using clusters.
              > >
              > > If the MDB is in a different cluster than its
              > > source destination, then you have three choices
              > > (1) Change the MDB weblogic descriptor to specify
              > > a URL that resolves to any one of the
              > > addresses of a WL server in the remote cluster.
              > > I don't recall the name of the URL field,
              > > but it is in the weblogic descriptor, and
              > > is documented in the EJB (MDB) programmer's
              > > guide.
              > > (2) Configure wrappers that refer to the
              > > remote JMS resources in the cluster, and change
              > > the MDB descriptors to point to the jndi
              > > locations you configured for the wrapped
              > > connection factory and wrapped destination.
              > > (3) Configure a messaging bridge that
              > > moves from the remote destination to
              > > a local destination (which, in turn,
              > > the MDB consumes from).
              > >
              > > Tom
              > >
              > > John Owen wrote:
              > >
              > > > Initially, I had an exploded web application, an ejb jar, a jms
              server,
              > a connection
              > > > factory and a queue all deployed under one weblogic instance. I am now
              > trying
              > > > to move the jms configuration to another machine running weblogic.
              > However, I
              > > > am unsure whether I need to configure a Foreign JMS Server on the
              > initial weblogic
              > > > instance. I have tried to do so and I cannot successfully start the
              > connection
              > > > from my web/ejb app (i.e., myQueueConnection.start() throws an
              > exception - weblogic.jms.common.JMSException:
              > > > Connection not found).
              > > >
              > > > I saw a thread here about changing the names of the JMS Servers, so I
              > configured
              > > > my web server with a foreign jms server (ForeignMessageServer) and I
              > configured
              > > > one foreign connection factory and one foreign destination. The local
              > jndi names
              > > > of these are unique and different from the remote jndi name. The
              remote
              > jndi names
              > > > match the names of the connection/destination on the app server (my
              2nd
              > server).
              > > > I am using the url of the web server as my provider url and the
              foreign
              > connection
              > > > factory local jndi name to look up the connection.
              > > >
              > > > I have two questions:
              > > >
              > > > Is it necessary to use a foreign jms server configuration to implement
              > this structure?
              > > > If a foreign jms server configuration is necessary, am I going about
              > this correctly?
              > > >
              > > > Thanks,
              > > > John
              > >
              >
              >
              

Maybe you are looking for

  • Space after Page Break

    Hi All, i have created a smartform and i use page break for  my requirement now my question is in second page it leave some space and after that dispaying the line item how to remove that space or how display the line item in first with out any space

  • Nested tables causes trouble in RoboHelp FM Import

    May be someone here in this forum knows a solution or a workaround for my trouble with a FrameMaker Import in RoboHelp. Background: To generate context sensitive Windows HTML-Help a FrameMaker document is imported into RoboHelp. There are lots of nes

  • Message no. F5357

    Hi friends. InFB02, when I am removing the payment block, a message is coming saying that Data was copied.  Hence, I couldn't remove the payment block. How to remove the block in this case now?  Please clarify. Regards. Srini

  • HT1338 im trying to update my macbook from 10.4.11 but its not letting me. what should i do?

    im trying to update my software from 10.4.11 but its not letting me. what should i do?

  • Hi quick select statement question!

    Hi Everyone, I'm new to the board and somewhat new to sql too. So I have a small problem that I hope someone can help me with. DATA Name: time1 time2 Jack 1 2 Jack 2 3 Jack 3 4 Jack 8 9 Jane 3 4 I'd like to get a table that combines all the continuou