You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2007/03/28 17:18:10 UTC

svn commit: r523362 - in /incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi: Messages.java OdeLifeCycle.java

Author: mriou
Date: Wed Mar 28 08:18:06 2007
New Revision: 523362

URL: http://svn.apache.org/viewvc?view=rev&rev=523362
Log:
Event listeners registration in the jbi module.

Modified:
    incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/Messages.java
    incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java

Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/Messages.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/Messages.java?view=diff&rev=523362&r1=523361&r2=523362
==============================================================================
--- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/Messages.java (original)
+++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/Messages.java Wed Mar 28 08:18:06 2007
@@ -19,11 +19,10 @@
 
 package org.apache.ode.jbi;
 
-import java.io.File;
+import org.apache.ode.utils.msg.MessageBundle;
 
 import javax.xml.namespace.QName;
-
-import org.apache.ode.utils.msg.MessageBundle;
+import java.io.File;
 
 public class Messages extends MessageBundle {
 
@@ -145,5 +144,10 @@
     public String msgOdeDbConfigError() {
         return format("Database configuration error.");
     }
+
+    public String msgBpelEventListenerRegistered(String listenerCN) {
+        return format("Registered custom BPEL event listener: {0}", listenerCN);
+    }
+
 
 }

Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java?view=diff&rev=523362&r1=523361&r2=523362
==============================================================================
--- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java (original)
+++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java Wed Mar 28 08:18:06 2007
@@ -24,6 +24,7 @@
 import org.apache.ode.bpel.connector.BpelServerConnector;
 import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC;
 import org.apache.ode.bpel.engine.BpelServerImpl;
+import org.apache.ode.bpel.iapi.BpelEventListener;
 import org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl;
 import org.apache.ode.il.dbutil.Database;
 import org.apache.ode.il.dbutil.DatabaseConfigException;
@@ -40,6 +41,7 @@
 import javax.transaction.TransactionManager;
 import java.io.File;
 import java.io.FileNotFoundException;
+import java.util.StringTokenizer;
 import java.util.concurrent.Executors;
 
 /**
@@ -103,6 +105,9 @@
             __log.debug("Starting BPEL server.");
             initBpelServer();
 
+            // Register BPEL event listeners configured in ode-jbi.properties.
+            registerEventListeners();
+
             __log.debug("Starting JCA connector.");
             initConnector();
 
@@ -246,7 +251,22 @@
         }
     }
 
- 
+    private void registerEventListeners() {
+        String listenersStr = _ode._config.getEventListeners();
+        if (listenersStr != null) {
+            for (StringTokenizer tokenizer = new StringTokenizer(listenersStr, ",;"); tokenizer.hasMoreTokens();) {
+                String listenerCN = tokenizer.nextToken();
+                try {
+                    _ode._server.registerBpelEventListener((BpelEventListener) Class.forName(listenerCN).newInstance());
+                    __log.info(__msgs.msgBpelEventListenerRegistered(listenerCN));
+                } catch (Exception e) {
+                    __log.warn("Couldn't register the event listener " + listenerCN + ", the class couldn't be "
+                            + "loaded properly.");
+                }
+            }
+        }
+    }
+
 
     public synchronized void start() throws JBIException {
         if (_started)