ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arunjolly <jollya...@gmail.com>
Subject Re: Duplicate channel id: concurrency problem?
Date Thu, 18 Aug 2011 12:09:20 GMT


Lorenzo,

Thanks a lot for your reply. A lot of things makes a lot of sense now.

I read the link about thread configuration. Its says that, by default, all
the servicemix components inherit the 'thread configuration properties' of
org.apache.servicemix.executors.ExecutorFactory  specified in servicemix.xml
in the conf directory of servicemix.

But if you look at it, the ode-bpel engine ( the zip file ) contains a
properties file - ode-jbi.properties which has a attribute called
ode-jbi.threads.pool.size. Does this over ride the default properties set in
the servicemix.xml file or will the bpel engine continue to inherit the
thread properties specified in servicemix.xml file ?

In my case, the servicemix.xml file contains the following configuration

    <sm:executorFactory>
      <bean
class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
        <property name="defaultConfig">
            <bean
class="org.apache.servicemix.executors.impl.ExecutorConfig">
              <property name="corePoolSize" value="100"/>
              <property name="maximumPoolSize" value="100"/>
              <property name="queueSize" value="10000"/>
            </bean>
        </property>
      </bean>
    </sm:executorFactory>

and the ode-jbi.properties contains the following configuration 
ode-jbi.threads.pool.size=1

It will great if you can tell me where exactly and how exactly i need to
configure the thread properties for the ODE component of servicemix.

Also, the synchronous = false parameter, from an ode point of view, how
exactly do i set it ? 

I forward JMS messages to the embedded activemq component inside servicemix,
use the camel component to route these requests/messages to the BPEL
endpoints. That's a brief description of how my application works.

Thanks,
Arun









lorenzzz wrote:
> 
> 2011/8/16 arunjolly <jollyarun@gmail.com>
> 
>>
>> Hi Lorenzo,
>>
>> Sorry to tell you that i dont have a solution for your problem, but im
>> facing the same issue in my application.
>>
>> I use Apache ODE 1.3.3 BPEL Engine in Servicemix 3.3.1 to run my
>> application. The issue that iam facing is pretty much the same. When the
>> application load increases ie the number of requests to the ODE
>> increases,
>> it starts throwing the 'no such channel' exception and sometimes hangs.
>>
>> What could be the reason for this ? Is this a known bug ? If yes, what is
>> the possible solution.
>>
> 
> Hi Arun,
> take a look at this thread.
> 
> http://servicemix.396122.n5.nabble.com/Servicemix-half-freezed-thread-dump-td4678224.html
> 
> I suspect the "No such channel" problem is a consequence of a servicemix
> "thread configuration" problem.
> You can use the jdk jconsole for a quick check. When I experienced the
> freezing, all cxf-se threads were waiting inside the DeliveryChannel
> method.
> 
> Since I have changed the cxf-se thread executor configuration (and the
> synchronous=false parameter) the problem almost disappeared. I can
> sometime
> reproduce the problem under very heavy load (100+ client threads) but it
> is
> not persistent and the application does not hang. As soon as the load
> stops
> the line from ODE_JOBS table gets updated correctly and the error message
> disappears.
> 
> Another suggestion, make sure that Ode is configured with a connection
> pool:
> it does a lot of database requests.
> 
> 
> Bye
> 
> Lorenzo
> 
> 

-- 
View this message in context: http://old.nabble.com/Duplicate-channel-id%3A-concurrency-problem--tp32203247p32286850.html
Sent from the Apache Ode User mailing list archive at Nabble.com.


Mime
View raw message