[jboss-user] [JBoss jBPM] - jBPM 3.2.6.SP1 on Weblogic 11gR1

gchanteb do-not-reply at jboss.com
Mon Aug 3 04:58:19 EDT 2009


Hi,

I'm trying to put jBPM 3.2.6.SP1 running on JBoss AS 5.1.0.GA on Weblogic 11gR1.

There are 3 projects: 

- a) jbpm-service.sar
- b) jbpm-enterprise.jar
- c) jsf-console.war

There are 8 xml files:

- 1) jbpm-destinations-service.xml
- 2) ejb2-timer-service.xml
- 3) jbpm-xa-ds.xml
- 4) ejb-jar.xml
- 5) jbosscmp-jdbc.xml
- 6) jboss.xml
- 7) jboss-service.xml
- 8) jboss-web.xml

So....

- a) the .sar is specific JBoss. I have just put the jbpm-jpdl.jar in the ${Weblogic-domain}/lib directory.
- b) Then, i'm trying to deploy the jbpm-enterprise.jar. 

- 1) I have created on Weblogic a jms connection factory and all queues, it's ok.
- 2) I don't know for the timer for the moment.
- 3) I have created on Weblogic a XA DS, it's ok.
- 4) ejb-jar.xml is the same on JBoss and Weblogic.
- 5) jbosscmp-jdbc.xml must be translated to weblogic-cmp-rdbms-jar.xml, I think it's ok:

<?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE weblogic-rdbms-jar PUBLIC 
  |  '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN'
  |  'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd'>
  | 
  | <weblogic-rdbms-jar>
  | 
  |   <weblogic-rdbms-bean>
  |     <ejb-name>TimerEntityBean</ejb-name>
  |     <data-source-name>java:/Your DS</data-source-name>
  | 	<table-map>
  |       <table-name>JBPM_JOB</table-name>
  |       <field-map>
  |         <cmp-field>timerId</cmp-field>
  |         <dbms-column>ID_</dbms-column>
  |       </field-map>
  |       <field-map>
  |         <cmp-field>name</cmp-field>
  |         <dbms-column>NAME_</dbms-column>
  |       </field-map>
  |       <field-map>
  |         <cmp-field>tokenId</cmp-field>
  |         <dbms-column>TOKEN_</dbms-column>
  |       </field-map>
  |       <field-map>
  |         <cmp-field>processInstanceId</cmp-field>
  |         <dbms-column>PROCESSINSTANCE_</dbms-column>
  |       </field-map>
  |       <field-map>
  |         <cmp-field>discriminator</cmp-field>
  |         <dbms-column>CLASS_</dbms-column>
  |       </field-map>
  |     </table-map>
  |   </weblogic-rdbms-bean>
  |   
  |   <create-default-dbms-tables>Disabled</create-default-dbms-tables>
  |   
  | </weblogic-rdbms-jar>

- 6) jboss.xml must be translated to weblogic-ejb-jar.xml.

Here is my jboss.xml

<?xml version="1.0" encoding="UTF-8"?>
  | <!DOCTYPE jboss PUBLIC 
  |   "-//JBoss//DTD JBOSS 4.0//EN"
  |   "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
  | 
  | <jboss>
  | 
  |   <enterprise-beans>
  | 
  |     <session>
  |       <ejb-name>CommandServiceBean</ejb-name>
  |       <jndi-name>jbpm/CommandServiceBean</jndi-name>
  |       <local-jndi-name>java:jbpm/CommandServiceBean</local-jndi-name>
  |       <resource-ref>
  |         <res-ref-name>jdbc/JbpmDataSource</res-ref-name>
  |         <jndi-name>java:/YOUR DS</jndi-name>
  |       </resource-ref>
  |       <resource-ref>
  |         <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  |         <jndi-name>java:JmsXA</jndi-name>
  |       </resource-ref>
  |     </session>
  | 
  |     <message-driven>
  |       <ejb-name>CommandListenerBean</ejb-name>
  |       <resource-ref>
  |         <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  |         <jndi-name>java:JmsXA</jndi-name>
  |       </resource-ref>
  |       <message-destination-ref>
  |         <message-destination-ref-name>jms/DeadLetterQueue</message-destination-ref-name>
  |         <jndi-name>queue/DLQ</jndi-name>
  |       </message-destination-ref>
  |     </message-driven>
  | 
  |     <message-driven>
  |       <ejb-name>JobListenerBean</ejb-name>
  |       <resource-ref>
  |         <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  |         <jndi-name>java:JmsXA</jndi-name>
  |       </resource-ref>
  |       <message-destination-ref>
  |         <message-destination-ref-name>jms/DeadLetterQueue</message-destination-ref-name>
  |         <jndi-name>queue/DLQ</jndi-name>
  |       </message-destination-ref>
  |     </message-driven>
  | 
  |     <entity>
  |       <ejb-name>TimerEntityBean</ejb-name>
  |       <jndi-name>jbpm/TimerEntityBean</jndi-name>
  |       <local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
  |     </entity>
  | 
  |   </enterprise-beans>
  | 
  |   <assembly-descriptor>
  | 
  |     <message-destination>
  |       <message-destination-name>JobQueue</message-destination-name>
  |       <jndi-name>queue/JbpmJobQueue</jndi-name>
  |     </message-destination>
  |     <message-destination>
  |       <message-destination-name>CommandQueue</message-destination-name>
  |       <jndi-name>queue/JbpmCommandQueue</jndi-name>
  |     </message-destination>
  | 
  |   </assembly-descriptor>
  | 
  | </jboss>

Here is my weblogic-ejb-jar.xml:

<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  | xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd ">
  | 
  |     <weblogic-enterprise-bean>
  |         <ejb-name>CommandServiceBean</ejb-name>	
  | 		<resource-description>
  | 			<res-ref-name>jdbc/JbpmDataSource</res-ref-name>
  | 			<jndi-name>java:/YOUR DS</jndi-name>
  | 		</resource-description>
  | 		<resource-description>
  | 			<res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  | 			<jndi-name>java:JmsXA</jndi-name>
  | 		</resource-description>
  | 		<jndi-name>jbpm/CommandServiceBean</jndi-name>	
  | 		<local-jndi-name>java:jbpm/CommandServiceBean</local-jndi-name>
  |     </weblogic-enterprise-bean>
  | 	
  |     <weblogic-enterprise-bean>
  | 		<ejb-name>TimerEntityBean</ejb-name>
  | 		<entity-descriptor>
  | 			<persistence>
  | 				<persistence-use>
  | 				  <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
  | 				  <type-version>7.0</type-version>
  | 				  <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
  | 				</persistence-use>
  | 			</persistence>
  | 		</entity-descriptor>
  | 		<jndi-name>jbpm/TimerEntityBean</jndi-name>
  | 		<local-jndi-name>java:jbpm/TimerEntityBean</local-jndi-name>
  |     </weblogic-enterprise-bean>
  | 	
  | 	<weblogic-enterprise-bean>
  |         <ejb-name>JobListenerBean</ejb-name>
  | 		<resource-description>
  | 			<res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  | 			<jndi-name>java:JmsXA</jndi-name>
  | 		</resource-description>
  |     </weblogic-enterprise-bean>
  | 	
  |     <weblogic-enterprise-bean>
  |         <ejb-name>CommandListenerBean</ejb-name>
  | 		<resource-description>
  | 			<res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  | 			<jndi-name>java:JmsXA</jndi-name>
  | 		</resource-description>
  |     </weblogic-enterprise-bean>
  | 	
  | 	<message-destination-descriptor>
  | 		<message-destination-name>JobQueue</message-destination-name>
  | 		<destination-jndi-name>queue/JbpmJobQueue</destination-jndi-name>
  | 	</message-destination-descriptor>
  | 
  | 	<message-destination-descriptor>
  | 		<message-destination-name>CommandQueue</message-destination-name>
  | 		<destination-jndi-name>queue/JbpmCommandQueue</destination-jndi-name>
  | 	</message-destination-descriptor>
  | 
  | </weblogic-ejb-jar>

It's 80% OK but I have some problems with MDBs:
anonymous wrote : 
  | weblogic.ejb.container.compliance.ComplianceException: 
  | 
  | The message-destination-ref 'jms/DeadLetterQueue' declared in the ejb-jar.xml descriptor or corresponding annotation for EJB 'JobListenerBean' 
  | is not linked to a message-destination. Ensure there is a message-destination declaration for the target destination and use 
  | the message-destination-link element or corresponding annotation to link the message-destination-ref.

Can somebody help me to finish to translate this file in order to make jBPM work on Weblogic?

The work to do is to translate:

    <message-driven>
  |       <ejb-name>JobListenerBean</ejb-name>
  |       <resource-ref>
  |         <res-ref-name>jms/JbpmConnectionFactory</res-ref-name>
  |         <jndi-name>java:JmsXA</jndi-name>
  |       </resource-ref>
  |       <message-destination-ref>
  |         <message-destination-ref-name>jms/DeadLetterQueue</message-destination-ref-name>
  |         <jndi-name>queue/DLQ</jndi-name>
  |       </message-destination-ref>
  |     </message-driven>

I don't find how to put a message-destination-ref-name in weblogic-ejb-jar.xml....

Here is the weblogic-ejb-jar.xml documentation in case, http://edocs.bea.com/wls/docs103/ejb/DDreference-ejb-jar.html#wp1383914

- 7) it doesn't exist on weblogic, so it's ok.
- 8) jboss-web.xml must be translated to weblogic.xml, I have this:

<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
  | xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
  | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  | xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd
  | http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  | <jsp-descriptor>
  | <debug>true</debug>
  | </jsp-descriptor>
  | <context-root>jbpm-console</context-root>
  | </weblogic-web-app>

Thx

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4247527#4247527

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4247527



More information about the jboss-user mailing list