ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nandika Jayawardana <jayaw...@gmail.com>
Subject Re: Re: Re: Re: Re: Re: TransactionManager error when invoking multiple instances on two ODE engines
Date Tue, 18 Mar 2014 07:04:09 GMT
Hi Vito,

If you are using the openjpa persistence layer and running correlated
processes, then you have to consider the instance lock manager which is
only supporting single node at the moment.

https://svn.apache.org/repos/asf/ode/branches/ode-1.3.6.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/InstanceLockManager.java

Regards
Nandika


On Tue, Mar 18, 2014 at 12:21 PM, Vito <testforvln@163.com> wrote:

> Hi Sathwik,
>
> Thank you for your recommendation. I will try your advice.
>
> Best,
> Vito
>
>
> At 2014-03-18 14:48:00,"Sathwik B P" <sathwik.bp@gmail.com> wrote:
> >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