Author: objectiser
Date: 2010-03-19 09:54:42 -0400 (Fri, 19 Mar 2010)
New Revision: 581
Modified:
trunk/distribution/src/main/release/db/jboss/jboss-beans.xml
trunk/runtime/engine-assembly/src/main/resources/META-INF/jboss-beans.xml
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineService.java
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineServiceMBean.java
Log:
Register the ODE ProcessManagementFacade API to enable server modules to directly access
it rather going through the RiftSaw BPELEngine abstraction.
Modified: trunk/distribution/src/main/release/db/jboss/jboss-beans.xml
===================================================================
--- trunk/distribution/src/main/release/db/jboss/jboss-beans.xml 2010-03-19 01:03:29 UTC
(rev 580)
+++ trunk/distribution/src/main/release/db/jboss/jboss-beans.xml 2010-03-19 13:54:42 UTC
(rev 581)
@@ -14,6 +14,7 @@
name="BPELEngine">
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.bpel:service=BPELEngine",
exposedInterface=org.jboss.soa.bpel.runtime.engine.service.BPELEngineServiceMBean.class,registerDirectly=true)</annotation>
<property
name="jndiName"><value>bpel/Engine</value></property>
+ <property
name="pmapiJndiName"><value>bpel/PMAPI</value></property>
<depends>jboss:service=Naming</depends>
<depends>BPELDatabaseInitializer</depends>
<depends>BPELDeployer</depends>
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineService.java
===================================================================
---
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineService.java 2010-03-19
01:03:29 UTC (rev 580)
+++
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineService.java 2010-03-19
13:54:42 UTC (rev 581)
@@ -35,6 +35,7 @@
private final static Logger logger = Logger.getLogger(BPELEngineService.class);
private String m_jndiName=null;
+ private String m_pmapiJndiName=null;
private BPELEngine m_bpelEngine=null;
/**
@@ -55,6 +56,8 @@
rebind();
m_bpelEngine.init();
+
+ rebindPMAPI();
}
/**
@@ -87,7 +90,7 @@
* @throws NamingException Failed to register BPEL engine against
* the JNDI name
*/
- public void setJndiName(String jndiName)throws NamingException {
+ public void setJndiName(String jndiName) throws NamingException {
String oldName = m_jndiName;
m_jndiName = jndiName;
@@ -103,6 +106,42 @@
}
}
+ /**
+ * This method returns the JNDI name used to register the
+ * BPEL Process Management API.
+ */
+ public String getPmapiJndiName() {
+ return m_jndiName;
+ }
+
+ /**
+ * This method sets the JNDI name associated with the
+ * BPEL Process Management API.
+ *
+ * @param jndiName The JNDI name
+ * @throws NamingException Failed to register BPEL Process Management API against
+ * the JNDI name
+ */
+ public void setPmapiJndiName(String jndiName) throws NamingException {
+ String oldName = m_pmapiJndiName;
+ m_pmapiJndiName = jndiName;
+
+ if (super.getState() == STARTED) {
+
+ if (oldName != null) {
+ unbind(oldName);
+ }
+
+ try {
+ rebindPMAPI();
+ } catch(Exception e) {
+ NamingException ne = new NamingException("Failed to update PMAPI
jndiName");
+ ne.setRootCause(e);
+ throw ne;
+ }
+ }
+ }
+
private void rebind() throws NamingException {
InitialContext rootCtx = new InitialContext();
Name fullName = rootCtx.getNameParser("").parse(m_jndiName);
@@ -119,4 +158,13 @@
logger.error("Failed to unbind map", e);
}
}
+
+ private void rebindPMAPI() throws NamingException {
+ if (m_pmapiJndiName != null) {
+ InitialContext rootCtx = new InitialContext();
+ Name fullName = rootCtx.getNameParser("").parse(m_pmapiJndiName);
+ logger.info("pmapi fullName="+fullName);
+ NonSerializableFactory.rebind(fullName, m_bpelEngine.getManagementInterface(),
true);
+ }
+ }
}
Modified:
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineServiceMBean.java
===================================================================
---
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineServiceMBean.java 2010-03-19
01:03:29 UTC (rev 580)
+++
trunk/runtime/engine/src/main/java/org/jboss/soa/bpel/runtime/engine/service/BPELEngineServiceMBean.java 2010-03-19
13:54:42 UTC (rev 581)
@@ -45,4 +45,20 @@
*/
public void setJndiName(String jndiName) throws javax.naming.NamingException;
+ /**
+ * This method returns the JNDI name used to register the
+ * BPEL Process Management API.
+ */
+ public String getPmapiJndiName();
+
+ /**
+ * This method sets the JNDI name associated with the
+ * BPEL Process Management API.
+ *
+ * @param jndiName The JNDI name
+ * @throws NamingException Failed to register BPEL Process Management API against
+ * the JNDI name
+ */
+ public void setPmapiJndiName(String jndiName) throws NamingException;
+
}
Modified: trunk/runtime/engine-assembly/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- trunk/runtime/engine-assembly/src/main/resources/META-INF/jboss-beans.xml 2010-03-19
01:03:29 UTC (rev 580)
+++ trunk/runtime/engine-assembly/src/main/resources/META-INF/jboss-beans.xml 2010-03-19
13:54:42 UTC (rev 581)
@@ -14,6 +14,7 @@
name="BPELEngine">
<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.bpel:service=BPELEngine",
exposedInterface=org.jboss.soa.bpel.runtime.engine.service.BPELEngineServiceMBean.class,registerDirectly=true)</annotation>
<property
name="jndiName"><value>bpel/Engine</value></property>
+ <property
name="pmapiJndiName"><value>bpel/PMAPI</value></property>
<depends>jboss:service=Naming</depends>
<depends>BPELDatabaseInitializer</depends>
<depends>BPELDeployer</depends>
Show replies by date