Running Multiple WebLogic and OSB Domains

I have any number of OSB domain created on my machine at any point in time. For example, I have different domains for different version of Oracle Service Bus and Oracle SOA Suite. I also have different domains for different purposes. I have a demo domain and another domain for the projects in my blog.

Starting with OSB 11g and the Apache Derby server, there is a small "gotcha" if you want to create multiple domains on a devevelopment machine. When you create a new domain for OSB 11g it will use the same database info for all databases and this will cause an error when starting the admin server of the second domain (the first domain doesn't have to be running for this error to occur). Here is an example of the error message in the server console:

####<Mar 8, 2011 2:58:48 PM PST> <Critical> <JTA> <jeff-laptop> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1299625128464> <BEA-110482> <A logging last resource failed during initialization. The server cannot boot unless all configured logging last resources (LLRs) initialize. Failing reason:
weblogic.transaction.loggingresource.LoggingResourceException: java.sql.SQLException: JDBC LLR, table verify failed for table 'WL_LLR_ADMINSERVER', row 'JDBC LLR Domain//Server' record had unexpected value 'osb11gR1PS3//AdminServer' expected 'OSBCIM//AdminServer'*** ONLY the original domain and server that creates an LLR table may access it ***

The solution is to create a database instance for each of your domains and this is very simple to do. After you create a domain using the Configuration Wizard, locate the

wlsbjmsrpDataSource-jdbc.xml

file that is found under the

DOMAIN_HOME/config/jdbc

directory. Near the top of the file you will see the following entry:

<url>jdbc:derby://localhost:1527/osbexamples;create=true;ServerName=localhost;databaseName=osbexamples</url>

You need to modify this entry with a different and unique database name. The easiest way to do this is to substiture the name of your domain. For example:

<url>jdbc:derby://localhost:1527/mydomain;create=true;ServerName=localhost;databaseName=mydomain</url>

will create a database named

mydomain

. Now, when you restart the admin server for the domain, it will create the new database for you. Do this for each domain you create on your development machine and you'll have no troubles.

The process is much simpler if you are creating a domain using the Configuration Wizard. Simply name the database when you get to the Configure JDBC Component Schema step of the Configuration Wizard, select the OSB JMS Reporting Provider and set the name in the DBMS/Service field to whatever name you like, as shown in Figure 1 below.

Fusion Middleware Configuration Wizard_023

Figure 1 – Configuring the JDBC Component Schema

That is all there is to it. Now you can create as many domains on your leptop or development machine as you like and not have to worry about them conflicting with each other.

Comments:

Hi Jeff, There is one more way of sorting this thing out. While configuring the domains (in case you have multiple domains running on the same machine) Check on 'Administration Server' to Modify Settings for Admin Server, click next and make sure that the name of Admin Server is different for different domains. This way two we wont encounter problem while having multiple domains in the same machine.

Posted by Arun Pareek on March 17, 2011 at 02:35 PM PDT #

cool stuff, thank you so much, I wish this parameter could be provided directly during the installation, since it's such a common issue

Posted by Pierluigi Vernetto on October 09, 2011 at 09:21 AM PDT #

One more work around for this is, we can delete the below entry in config.xml found in user_projects\domains\myDomain\Config

<jdbc-system-resource>
<name>wlsbjmsrpDataSource</name>
<target>AdminServer</target>
<descriptor-file-name>jdbc/wlsbjmsrpDataSource-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>

Posted by guest on January 18, 2012 at 11:17 PM PST #

you need to change AdminServer with a different name all occurences.

Posted by saleem shaik on March 05, 2012 at 12:21 PM PST #

This is what worked for me.

Thank you

*****************************************************

One more work around for this is, we can delete the below entry in config.xml found in user_projects\domains\myDomain\Config

<jdbc-system-resource>
<name>wlsbjmsrpDataSource</name>
<target>AdminServer</target>
<descriptor-file-name>jdbc/wlsbjmsrpDataSource-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>

Posted by guest on December 05, 2013 at 08:05 AM PST #

One more work around for this is, we can delete the below entry in config.xml found in user_projects\domains\myDomain\Config

<jdbc-system-resource>
<name>wlsbjmsrpDataSource</name>
<target>AdminServer</target>
<descriptor-file-name>jdbc/wlsbjmsrpDataSource-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>

Posted by guest on December 05, 2013 at 08:06 AM PST #

Work around posted by guest ...is the one that worked for me.
thank u

Posted by guest on December 05, 2013 at 08:07 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

A site for SOA thought and discussion.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today