ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sathwik B P <sathwik...@gmail.com>
Subject Re: Re: Re: Re: Re: TransactionManager error when invoking multiple instances on two ODE engines
Date Tue, 18 Mar 2014 06:48:00 GMT
Hi Vito,

We don't recommed derby for production deployments. It's only to get ODE up
and running quickly.

It's better to use an external database. The cofiguration for using an
external database is done in ode-axis2.properties file. Also one needs to
use an extenal transaction manager within tomcat.

regards,
sathwik


On Mon, Mar 17, 2014 at 11:01 PM, Vito <testforvln@163.com> wrote:

> Hi Sathwik,
>
> Actually there is only axis2.xml file under that folder and it's running
> properly except for my problem with multiple instances. Does it mean that
> the axis2.xml file can also play the role of ode-axis2.properties?
>
> The log of my tomcat servers shows me that some problems went wrong with
> geronimo transaction manager indeed. So I may also have the default
> database settings.
>
> Best,
> Vito
>
>
>
> At 2014-03-18 13:44:56,"Sathwik B P" <sathwik.bp@gmail.com> wrote:
> >Hi Vito,
> >
> >There has to be a file named ode-axis2.properties under
> >*webapps/ode/WEB-INF/conf*
> >
> >FYI, ODE by default uses an embedded derby database with geronimo
> >transaction manager, unless you change the configuration in
> >ode-axis2.properties
> >
> >Would recommend trying the bundled ode-tomcat suggested by tammo earlier.
> >
> >regards,
> >sathwik
> >
> >
> >On Tue, Mar 18, 2014 at 9:48 AM, Vito <testforvln@163.com> wrote:
> >
> >> Hi Sathwik,
> >>
> >> I don't have ode-axis2.properties file in my web-inf folder. I have
> >> axis2.xml file instead.
> >> The two axis2.xml files content is like below, which only change their
> >> ports from "8080" to "8180":
> >> <axisconfig name="AxisJava2.0">
> >>     <parameter name="hotdeployment" locked="false">true</parameter>
> >>     <parameter name="hotupdate" locked="false">false</parameter>
> >>     <parameter name="enableMTOM" locked="false">false</parameter>
> >>     <parameter name="enableSwA" locked="false">false</parameter>
> >>     <parameter name="attachmentDIR" locked="false"></parameter>
> >>     <parameter name="sizeThreshold" locked="false">4000</parameter-->
> >>     <parameter name="ConfigContextTimeoutInterval"
> >> locked="false">30</parameter>
> >>     <parameter name="sendStacktraceDetailsWithFaults"
> >> locked="false">true</parameter>
> >>     <parameter name="DrillDownToRootCauseForFaultReason"
> >> locked="false">true</parameter>
> >>
> >>     <parameter name="userName" locked="false">admin</parameter>
> >>     <parameter name="password" locked="false">axis2</parameter>
> >>     <parameter name="servicePath" locked="false">processes</parameter>
> >>     <parameter name="manageTransportSession"
> >> locked="false">false</parameter>
> >>     <parameter name="enableRESTInAxis2MainServlet"
> >> locked="true">true</parameter>
> >>     <parameter name="disableREST" locked="true">false</parameter>
> >>     <parameter name="disableSeparateEndpointForREST"
> >> locked="true">true</parameter>
> >>     <messageReceivers>
> >>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> >>
> >>  class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
> >>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> >>
> >>  class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> >>     </messageReceivers>
> >>     <transportReceiver name="http"
> >>
> >>  class="org.apache.axis2.transport.http.SimpleHTTPServer">
> >>         <parameter name="port" locked="false">8080</parameter>
> >>     </transportReceiver>
> >>     <transportReceiver name="jms"
> >> class="org.apache.axis2.transport.jms.JMSListener">
> >>         <parameter name="myTopicConnectionFactory" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">TopicConnectionFactory</parameter>
> >>         </parameter>
> >>
> >>         <parameter name="myQueueConnectionFactory" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">QueueConnectionFactory</parameter>
> >>         </parameter>
> >>
> >>         <parameter name="default" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">QueueConnectionFactory</parameter>
> >>         </parameter>
> >>     </transportReceiver>-->
> >>
> >>     <transportSender name="tcp"
> >>
> >>  class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
> >>     <transportSender name="local"
> >>
> >>  class="org.apache.axis2.transport.local.LocalTransportSender"/>
> >>     <transportSender name="http"
> >>
> >>  class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> >>         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> >>         <parameter name="Transfer-Encoding"
> >> locked="false">chunked</parameter>
> >>     </transportSender>
> >>     <transportSender name="https"
> >>
> >>  class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> >>         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> >>         <parameter name="Transfer-Encoding"
> >> locked="false">chunked</parameter>
> >>     </transportSender>
> >>     <transportSender name="jms"
> >>                      class="org.apache.axis2.transport.jms.JMSSender"/>
> >>     -->
> >>    <transportSender name="mailto"
> >> class="org.apache.axis2.transport.mail.MailTransportSender">
> >>        <parameter name="transport.mail.smtp.host"
> >> locked="false">127.0.0.1</parameter>
> >>        <parameter name="transport.mail.smtp.user"
> >> locked="false">axis2</parameter>
> >>        <parameter name="transport.mail.smtp.password"
> >> locked="false">axis2</parameter>
> >>        <parameter name="transport.mail.smtp.port"
> >> locked="false">25</parameter>
> >>    </transportSender>
> >>    -->
> >>     <phaseOrder type="InFlow">
> >>         <!--  System pre defined phases       -->
> >>         <phase name="Transport">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
> >>             <handler name="SOAPActionBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
> >>             <handler name="ODEAxisServiceDispatcher"
> >>
> >>  class="org.apache.ode.axis2.hooks.ODEAxisServiceDispatcher"/>
> >>         </phase>
> >>         <phase name="Security"/>
> >>         <phase name="Addressing">
> >>             <handler name="ODEAxisOperationDispatcher"
> >>
> >>  class="org.apache.ode.axis2.hooks.ODEAxisOperationDispatcher"/>
> >>             <handler name="AddressingBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
> >>                 <order phase="Addressing"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="PreDispatch"/>
> >>         <phase name="Dispatch"
> >> class="org.apache.axis2.engine.DispatchPhase">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
> >>             <handler name="RequestURIOperationDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
> >>             <handler name="HTTPLocationBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
> >>         </phase>
> >>         <phase name="ProcessHeader">
> >>             <handler name="SessionInHandler"
> >>                  class="org.apache.ode.axis2.hooks.SessionInHandler">
> >>                 <order phase="PostDispatch"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="OperationInPhase"/>
> >>     <phase name="soapmonitorPhase"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="OutFlow">
> >>         <!--      user can add his own phases to this area  -->
> >>     <phase name="ProcessHeader">
> >>         <handler name="SessionOutHandler"
> >>              class="org.apache.ode.axis2.hooks.SessionOutHandler">
> >>             <order phase="PreDispatch"/>
> >>         </handler>
> >>     </phase>
> >>     <phase name="soapmonitorPhase"/>
> >>         <phase name="OperationOutPhase"/>
> >>         <phase name="PolicyDetermination"/>
> >>         <phase name="MessageOut"/>
> >>         <phase name="Security"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="InFaultFlow">
> >>         <phase name="Security"/>
> >>         <phase name="Addressing">
> >>             <handler name="AddressingBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
> >>                 <order phase="Addressing"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="PreDispatch"/>
> >>         <phase name="Dispatch"
> >> class="org.apache.axis2.engine.DispatchPhase">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>
> >>             <handler name="SOAPActionBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>
> >>             <handler name="SOAPMessageBodyBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="OperationInFaultPhase"/>
> >>         <phase name="soapmonitorPhase"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="OutFaultFlow">
> >>         <!--      user can add his own phases to this area  -->
> >>         <phase name="soapmonitorPhase"/>
> >>         <phase name="OperationOutFaultPhase"/>
> >>         <phase name="PolicyDetermination"/>
> >>         <phase name="MessageOut"/>
> >>         <phase name="Security"/>
> >>     </phaseOrder>
> >> </axisconfig>
> >>
> >>
> >>
> >> <axisconfig name="AxisJava2.0">
> >>     <parameter name="hotdeployment" locked="false">true</parameter>
> >>     <parameter name="hotupdate" locked="false">false</parameter>
> >>     <parameter name="enableMTOM" locked="false">false</parameter>
> >>     <parameter name="enableSwA" locked="false">false</parameter>
> >>     <parameter name="attachmentDIR" locked="false"></parameter>
> >>     <parameter name="sizeThreshold" locked="false">4000</parameter-->
> >>     <parameter name="ConfigContextTimeoutInterval"
> >> locked="false">30</parameter>
> >>     <parameter name="sendStacktraceDetailsWithFaults"
> >> locked="false">true</parameter>
> >>     <parameter name="DrillDownToRootCauseForFaultReason"
> >> locked="false">true</parameter>
> >>
> >>     <parameter name="userName" locked="false">admin</parameter>
> >>     <parameter name="password" locked="false">axis2</parameter>
> >>     <parameter name="servicePath" locked="false">processes</parameter>
> >>     <parameter name="manageTransportSession"
> >> locked="false">false</parameter>
> >>     <parameter name="enableRESTInAxis2MainServlet"
> >> locked="true">true</parameter>
> >>     <parameter name="disableREST" locked="true">false</parameter>
> >>     <parameter name="disableSeparateEndpointForREST"
> >> locked="true">true</parameter>
> >>     <messageReceivers>
> >>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
> >>
> >>  class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
> >>         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> >>
> >>  class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> >>     </messageReceivers>
> >>     <transportReceiver name="http"
> >>
> >>  class="org.apache.axis2.transport.http.SimpleHTTPServer">
> >>         <parameter name="port" locked="false">8180</parameter>
> >>     </transportReceiver>
> >>     <transportReceiver name="jms"
> >> class="org.apache.axis2.transport.jms.JMSListener">
> >>         <parameter name="myTopicConnectionFactory" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">TopicConnectionFactory</parameter>
> >>         </parameter>
> >>
> >>         <parameter name="myQueueConnectionFactory" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">QueueConnectionFactory</parameter>
> >>         </parameter>
> >>
> >>         <parameter name="default" locked="false">
> >>             <parameter name="java.naming.factory.initial"
> >>
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
> >>             <parameter name="java.naming.provider.url"
> >> locked="false">tcp://localhost:61616</parameter>
> >>             <parameter name="transport.jms.ConnectionFactoryJNDIName"
> >> locked="false">QueueConnectionFactory</parameter>
> >>         </parameter>
> >>     </transportReceiver>-->
> >>
> >>     <transportSender name="tcp"
> >>
> >>  class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
> >>     <transportSender name="local"
> >>
> >>  class="org.apache.axis2.transport.local.LocalTransportSender"/>
> >>     <transportSender name="http"
> >>
> >>  class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> >>         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> >>         <parameter name="Transfer-Encoding"
> >> locked="false">chunked</parameter>
> >>     </transportSender>
> >>     <transportSender name="https"
> >>
> >>  class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> >>         <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
> >>         <parameter name="Transfer-Encoding"
> >> locked="false">chunked</parameter>
> >>     </transportSender>
> >>     <transportSender name="jms"
> >>                      class="org.apache.axis2.transport.jms.JMSSender"/>
> >>     -->
> >>    <transportSender name="mailto"
> >> class="org.apache.axis2.transport.mail.MailTransportSender">
> >>        <parameter name="transport.mail.smtp.host"
> >> locked="false">127.0.0.1</parameter>
> >>        <parameter name="transport.mail.smtp.user"
> >> locked="false">axis2</parameter>
> >>        <parameter name="transport.mail.smtp.password"
> >> locked="false">axis2</parameter>
> >>        <parameter name="transport.mail.smtp.port"
> >> locked="false">25</parameter>
> >>    </transportSender>
> >>    -->
> >>     <phaseOrder type="InFlow">
> >>         <!--  System pre defined phases       -->
> >>         <phase name="Transport">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
> >>             <handler name="SOAPActionBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
> >>             <handler name="ODEAxisServiceDispatcher"
> >>
> >>  class="org.apache.ode.axis2.hooks.ODEAxisServiceDispatcher"/>
> >>         </phase>
> >>         <phase name="Security"/>
> >>         <phase name="Addressing">
> >>             <handler name="ODEAxisOperationDispatcher"
> >>
> >>  class="org.apache.ode.axis2.hooks.ODEAxisOperationDispatcher"/>
> >>             <handler name="AddressingBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
> >>                 <order phase="Addressing"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="PreDispatch"/>
> >>         <phase name="Dispatch"
> >> class="org.apache.axis2.engine.DispatchPhase">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
> >>             <handler name="RequestURIOperationDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
> >>             <handler name="HTTPLocationBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
> >>         </phase>
> >>         <phase name="ProcessHeader">
> >>             <handler name="SessionInHandler"
> >>                  class="org.apache.ode.axis2.hooks.SessionInHandler">
> >>                 <order phase="PostDispatch"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="OperationInPhase"/>
> >>     <phase name="soapmonitorPhase"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="OutFlow">
> >>         <!--      user can add his own phases to this area  -->
> >>     <phase name="ProcessHeader">
> >>         <handler name="SessionOutHandler"
> >>              class="org.apache.ode.axis2.hooks.SessionOutHandler">
> >>             <order phase="PreDispatch"/>
> >>         </handler>
> >>     </phase>
> >>     <phase name="soapmonitorPhase"/>
> >>         <phase name="OperationOutPhase"/>
> >>         <phase name="PolicyDetermination"/>
> >>         <phase name="MessageOut"/>
> >>         <phase name="Security"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="InFaultFlow">
> >>         <phase name="Security"/>
> >>         <phase name="Addressing">
> >>             <handler name="AddressingBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
> >>                 <order phase="Addressing"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="PreDispatch"/>
> >>         <phase name="Dispatch"
> >> class="org.apache.axis2.engine.DispatchPhase">
> >>             <handler name="RequestURIBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>
> >>             <handler name="SOAPActionBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>
> >>             <handler name="SOAPMessageBodyBasedDispatcher"
> >>
> >>  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher">
> >>                 <order phase="Dispatch"/>
> >>             </handler>
> >>         </phase>
> >>         <phase name="OperationInFaultPhase"/>
> >>         <phase name="soapmonitorPhase"/>
> >>     </phaseOrder>
> >>     <phaseOrder type="OutFaultFlow">
> >>         <!--      user can add his own phases to this area  -->
> >>         <phase name="soapmonitorPhase"/>
> >>         <phase name="OperationOutFaultPhase"/>
> >>         <phase name="PolicyDetermination"/>
> >>         <phase name="MessageOut"/>
> >>         <phase name="Security"/>
> >>     </phaseOrder>
> >> </axisconfig>
> >>
> >>
> >>
> >>
> >>
> >>
> >> At 2014-03-14 17:20:20,"Sathwik B P" <sathwik.bp@gmail.com> wrote:
> >> >Hi Vito,
> >> >
> >> >Can you share ode-axis2.properties file from both the tomcat servers to
> >> >understand your deployment.
> >> >
> >> >regards,
> >> >sathwik
> >> >
> >> >
> >> >On Fri, Mar 14, 2014 at 7:38 AM, Vito <testforvln@163.com> wrote:
> >> >
> >> >> Hi Tammo,
> >> >>
> >> >> Thank you for your explanation and advice. Actually I deployed the
> two
> >> ODE
> >> >> engines in two tomcat servers of different ports. So if I want to
> >> invoke,
> >> >> for example, 15 instances in ode1 and 15 instances in ode2, the
> requests
> >> >> have their difference in the ports of their addresses. The question
> is,
> >> in
> >> >> this circumstance, do the two ode engines share the same database
> >> instance
> >> >> when they run in two tomcat servers? I use the internal jpa database.
> >> >>
> >> >>
> >> >> Best,
> >> >> Vito
> >> >>
> >> >>
> >> >> At 2014-03-13 19:23:10,"Tammo van Lessen" <tvanlessen@gmail.com>
> wrote:
> >> >> >Hi Vito,
> >> >> >
> >> >> >it doesn't matter if they share the same JVM but if they share
the
> same
> >> >> >data in the database, then you will run into trouble unless you
> solve
> >> some
> >> >> >issues needed for clustering. The background is the following:
If
> ODE
> >> >> >receives a request, it loads the instance, determines the next
steps
> >> and
> >> >> >adds a new entry to the scheduler table for tasks that requires
> heavier
> >> >> >work. In a cluster you need to make sure that this scheduled job
is
> >> >> >assigned to a single node and not taken up by all nodes. The
> scheduler
> >> is
> >> >> >ready to do that, but the missing piece is the cluster management
> that
> >> >> >assigns IDs to nodes etc. This can be implemented with hazelcast
for
> >> >> >instance.
> >> >> >
> >> >> >As a side note: When you use an external database, it is important
> that
> >> >> you
> >> >> >have properly configured the transactions manager, either by using
> >> >> >https://github.com/vanto/apache-ode-tomcat-bundle or by following
> the
> >> >> >Sathwik's instructions at
> >> >> >
> >> >>
> >>
> http://sathwikbp.blogspot.de/2013/09/apache-ode-on-tomcat-7-with-bitronix.html
> >> >> ,
> >> >> >this could help as well.
> >> >> >
> >> >> >HTH,
> >> >> >  Tammo
> >> >> >
> >> >> >
> >> >> >On Wed, Mar 12, 2014 at 2:49 AM, Vito <testforvln@163.com>
wrote:
> >> >> >
> >> >> >> Hi Tammo,
> >> >> >>
> >> >> >> Yes, both instances are nearly the same except for their different
> >> >> >> deployment port number, because they need to be deployed in
the
> two
> >> ODE
> >> >> of
> >> >> >> different ports.
> >> >> >> Do you mean that they share the same jvm and database instance?
It
> >> can
> >> >> >> really cause some problem.
> >> >> >> Actually I'm doing some work trying to implement simple load
> balance
> >> >> >> between different ODE instances, but it's just a external
> >> implementation
> >> >> >> without using any features of ODE cluster, which I'm not familiar
> >> with.
> >> >> >>
> >> >> >>
> >> >> >> Best,
> >> >> >> Vito
> >> >> >>
> >> >> >>
> >> >> >> At 2014-03-11 20:35:29,"Tammo van Lessen" <tvanlessen@gmail.com>
> >> wrote:
> >> >> >> >Hi Vito,
> >> >> >> >
> >> >> >> >do both instances share the same database schema?
> >> >> >> >
> >> >> >> >ODE is currently not able to run in a cluster. Actually
it is in
> >> >> general
> >> >> >> >ready for clustering but two pieces of glue code are missing.
1)
> the
> >> >> load
> >> >> >> >balance, 2) the master slave management that is needed
for the
> >> >> scheduler
> >> >> >> >and the process store. Thus, without a not-too-small amount
of
> >> >> developer
> >> >> >> >work its currently not possible to setup a cluster based
on open
> >> source
> >> >> >> >ODE. Also, ODE then assumes that the process definitions
are the
> >> same
> >> >> >> >across all instances within the cluster.
> >> >> >> >
> >> >> >> >Or did I get your question wrong?
> >> >> >> >
> >> >> >> >Tammo
> >> >> >> >
> >> >> >> >
> >> >> >> >On Tue, Mar 11, 2014 at 9:44 AM, Vito <testforvln@163.com>
> wrote:
> >> >> >> >
> >> >> >> >>  Hi all, I'm trying to invoke multiple instances
on two ODE
> >> engines.
> >> >> >> >> I deployed the two engines in two tomcat servers
of different
> >> ports
> >> >> in
> >> >> >> the
> >> >> >> >> same computer. Then invoked 15 same process instances
on each
> ODE
> >> >> >> engine,
> >> >> >> >> and the two process definitions for the two engines
are not the
> >> same.
> >> >> >> When
> >> >> >> >> I invoked them all, the first engine went well, but
the
> instances
> >> on
> >> >> the
> >> >> >> >> second engine sometimes worked well, sometimes it
threw
> exception
> >> >> like
> >> >> >> >> below:
> >> >> >> >>
> >> >> >> >> 16:28:01,939 WARN  [Transaction] Unexpected exception
from
> >> >> >> >> beforeCompletion; transaction will roll back
> >> >> >> >> <openjpa-1.2.1-r752877:753278 nonfatal user error>
> >> >> >> >> org.apache.openjpa.persistence.InvalidStateException:
Attempt
> to
> >> >> commit
> >> >> >> a
> >> >> >> >> null javax.transaction.Transaction.  Some application
servers
> set
> >> the
> >> >> >> >> transaction to null if a rollback occurs.
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.kernel.BrokerImpl.setRollbackOnlyInternal(BrokerImpl.java:1490)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.kernel.BrokerImpl.setRollbackOnly(BrokerImpl.java:1476)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.kernel.DelegatingBroker.setRollbackOnly(DelegatingBroker.java:925)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.persistence.EntityManagerImpl.setRollbackOnly(EntityManagerImpl.java:560)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.persistence.PersistenceExceptions$2.translate(PersistenceExceptions.java:71)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.kernel.BrokerImpl.translateManagedCompletionException(BrokerImpl.java:1896)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1830)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:291)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:239)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:512)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:496)
> >> >> >> >>     at
> >> >> >> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >> >> >> >>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> >> >> >> >>     at
> >> >> >> >>
> >> >> >>
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> >> >> >> >>     at java.lang.Thread.run(Thread.java:662)
> >> >> >> >>
> >> >> >> >> BTW after the error the instances can still go on
to the normal
> >> end.
> >> >> >> Maybe
> >> >> >> >> the rollback saved the instance.
> >> >> >> >> It seems that something went wrong with the transaction
> manager.
> >> >> Could
> >> >> >> you
> >> >> >> >> help me figure out how this error came out?
> >> >> >> >> Best,
> >> >> >> >> Vito
> >> >> >> >>
> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >> >--
> >> >> >> >Tammo van Lessen - http://www.taval.de
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >> >--
> >> >> >Tammo van Lessen - http://www.taval.de
> >> >>
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message