views:

162

answers:

1

Hi there.

I'm currently working on a clustered WLI environment which comprehends 3 servers: 1 admin server ("AdminServer") and 2 managed servers ("mn1" and "mn2") grouped as a cluster, as follows:

Architecture diagram:

alt text

I've developed a JPD process to execute some scheduled tasks, invoked using a Message Broker. I've deployed this project into a single-server WLI domain (with AdminServer only) and it works as expected: the JPD process is invoked (I've configured a Timer Event Generator instance to start it up).

Message broker:

alt text

Timer event generator:

alt text

In order to achieve fail-over and load-balancing capabilities, I'm currently trying to deploy this JPD process into this clustered WLI environment. Although, I'm having some issues with this, as I cannot get it to work properly, even if it still works.

Here is a screenshot of the "WLI Process Instance Monitor" (with AdminServer and mn1 instances up and running):

alt text

According to this screen the process seems to be running, as it shows in this instance monitor screen. However, I don't see any output coming out neither at AdminServer console or mn1 console. In single-server domain it was visible output from JPD process "timeout" callback method, wich implementation is shown below:

@com.bea.wli.control.broker.MessageBroker.StaticSubscription(xquery = "", filterValueMatch = "", channelName = "/SamplePrefix/Samples/SampleStringChannel", messageBody = "{x0}")
    public void subscription(java.lang.String x0) {
        String toReturn="";
        try {
             Context myCtx = new InitialContext();
             MBeanHome mbeanHome = (MBeanHome)myCtx.lookup("weblogic.management.home.localhome");
             toReturn=mbeanHome.getMBeanServer().getServerName();
             System.out.println("**** executed at **** " + System.currentTimeMillis() +  " by: " + toReturn);
         }
         catch (Exception e) {
             System.out.println("Exception!"); 
             e.printStackTrace();
         } 
    }

(...)

@org.apache.beehive.controls.api.events.EventHandler(field = "myT", eventSet = com.bea.control.WliTimerControl.Callback.class, eventName = "onTimeout")
public void myT_onTimeout(long time, java.io.Serializable data) {
    // #START: CODE GENERATED - PROTECTED SECTION - you can safely add code above this comment in this method. #//
    // input transform
    System.out.println("**** published at **** " + System.currentTimeMillis());
    publishControl.publish("aaaa");
    // parameter assignment
    // #END  : CODE GENERATED - PROTECTED SECTION - you can safely add code below this comment in this method. #//
}

and here is the output visible at "AdminServer" console in single-server domain testing:

**** published at **** 1273238090713
**** executed at **** 1273238132123 by: AdminServer
**** published at **** 1273238152462
**** executed at **** 1273238152562 by: AdminServer
(...)

What may be wrong with my clustered configuration? Am I missing something to accomplish clustered deployment?

Thanks in advance for your help.

A: 

Sorry, no solution from my side. Question: What company are you building it for?

We are a company that upgrade 8.1 (non cluster) to 10.3 clustered. we need a referance site.

Miko