Hello

But as you wrote, you had this blueprint:

    <bean id="activemqConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="${URL}" />
        <property name="userName" value="${USERNAME}" />
        <property name="password" value="${PASSWORD}" />
    </bean>

    <bean id="consumerPooledConnectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory">
        <property name="maxConnections" value="${MAX_CONNECTIONS}" />
        <property name="connectionFactory" ref="activemqConnectionFactory"
/>
    </bean>
...
    <service ref="producerPooledConnectionFactory"
interface="javax.jms.ConnectionFactory">
        <service-properties>
            <entry key="name" value="producer" />
            <entry key="osgi.jndi.service.name"
value="${PRODUCER_JNDI_NAME}" />
        </service-properties>
    </service>
...

which means it's not related to pax-jms. But additionally you added pax-jms
configuration (factory PID) that does one thing - checks OSGi services with
javax.jms.ConnectionFactory interfaces (which is your
org.apache.activemq.pool.PooledConnectionFactory) and wraps it again in the
pooling connection factory.

Can you share your entire project (before and after adding pax-jms)?

regards
Grzegorz Grzybek

wt., 18 cze 2019 o 16:49 Kushal Gautam <kushal.gau...@gmail.com> napisał(a):

> Hi:
>
> Here's what I have observed.
>
> If I provide the broker service by installing the broker bundle as an
> artifact (using the blueprint configuration as I had shared before), then
> there are altogether 41 connections(one is of Temp Advisory queue, I
> guess), because max-connections is set to 20 for producer and consumer each.
>
> But, with pax-jms config, I observed that I have just 20 connections
> (although I have set pool.maxConnections = 20) for both producer and
> consumer. I guess, this could be the bottleneck of the performance.
>
> In both scenarios, the route bundles are same. Only the broker service
> provider is diff.
>
> Regards,
> Cooshal.
>
>
> On Tuesday, June 18, 2019 at 4:09:24 PM UTC+2, Kushal Gautam wrote:
>>
>> I am using it like this:
>>
>> from("eai-consumer:queue:foo.xx.yy")
>> ...
>> ...
>>
>> Is there a performance lag for this as well ?
>>
>>
>> On Tuesday, June 18, 2019 at 4:06:20 PM UTC+2, Jean-Baptiste Onofré wrote:
>>>
>>> Why don't you set the connection factory directly on the camel-jms URI ?
>>>
>>> For instance: <from
>>> uri="jms:queue:foo?connectionFactory=#jmsConsumerConnectionFactory"/>
>>>
>>> Regards
>>> JB
>>> On 18/06/2019 16:02, Kushal Gautam wrote:
>>>
>>> well, I am using them as:
>>>
>>> <reference id="jmsConsumerConnectionFactory"
>>> interface="javax.jms.ConnectionFactory" 
>>> filter="(osgi.jndi.service.name=jms/eai.consumer)"
>>> availability="mandatory" />
>>>     <reference id="jmsProducerConnectionFactory"
>>> interface="javax.jms.ConnectionFactory" 
>>> filter="(osgi.jndi.service.name=jms/eai.producer)"
>>> availability="mandatory" />
>>>
>>>     <bean id="eai-consumer"
>>> class="org.apache.camel.component.jms.JmsComponent">
>>>         <property name="connectionFactory"
>>> ref="jmsConsumerConnectionFactory"/>
>>>     </bean>
>>>
>>>     <bean id="eai-producer"
>>> class="org.apache.camel.component.jms.JmsComponent">
>>>         <property name="connectionFactory"
>>> ref="jmsProducerConnectionFactory"/>
>>>     </bean>
>>>
>>> On Tuesday, June 18, 2019 at 3:59:28 PM UTC+2, Jean-Baptiste Onofré
>>> wrote:
>>>>
>>>> If you have two ConnectionFactory services, maybe you use only one
>>>> service, that would explain why you only have one connection (with one
>>>> producer and one consumer).
>>>>
>>>> Regards
>>>> JB
>>>> On 18/06/2019 15:52, Kushal Gautam wrote:
>>>>
>>>> Hi:
>>>>
>>>> ok. that's what I thought.
>>>>
>>>> So, here is my scenario. I have 4 karaf instances, and each instance
>>>> has two pax-jms configurations(one for producer and one for consumer). But,
>>>> in the connections tab, I see just one connection per instance. Is this a
>>>> normal behavior? Because, I have two pax-jms configs and shldn't they have
>>>> two connections per instance, in this case? I have to verify this thing
>>>> with my previous implementation (while deploying broker as an artifact).
>>>>
>>>> Regards,
>>>> Cooshal.
>>>>
>>>> On Tuesday, June 18, 2019 at 3:45:41 PM UTC+2, Jean-Baptiste Onofré
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> That's the way JMS works.
>>>>>
>>>>> You create a ConnectionFactory. The connection factory provides
>>>>> connections.
>>>>>
>>>>> A connection provides several sessions. A session is single threaded,
>>>>> and "assigned" to an action (consume or produce).
>>>>>
>>>>> So, inside a single connection (for one client), you can have bunch of
>>>>> sessions (some producing, some consuming). In Camel, you can define the
>>>>> number of sessions per connection.
>>>>>
>>>>> For consuming, you can use the receive() method or a MessageListener.
>>>>> The session is also where you define the ACK mode (AUTO, CLIENT, DUPS,
>>>>> TRANSACTED).
>>>>>
>>>>> If you need more details, don't hesitate to ping me directly ;)
>>>>>
>>>>> Regards
>>>>> JB
>>>>> On 18/06/2019 15:31, Kushal Gautam wrote:
>>>>>
>>>>> Hi again:
>>>>>
>>>>> I have a query on this issue.
>>>>>
>>>>> From the connections tab in the activemq webconsle, I see that my
>>>>> hundreds of connections are reduced to very few connections. That helped 
>>>>> me
>>>>> resolve some jms-error issues, where my packets were being dropped because
>>>>> my broker was overloaded.
>>>>>
>>>>> When I look at the details of the connection, I see multiple consumer
>>>>> sessions.
>>>>>
>>>>> I am not able to comprehend the working method of this. Are all these
>>>>> sessions using just one connection??
>>>>>
>>>>> Regards,
>>>>> Cooshal.
>>>>>
>>>>>
>>>>> On Monday, June 17, 2019 at 2:10:28 PM UTC+2, Grzegorz Grzybek wrote:
>>>>>>
>>>>>> Hello
>>>>>>
>>>>>> Hmm
>>>>>>
>>>>>> You wrote two similar blueprint files containing:
>>>>>>
>>>>>>     <bean id="activemqConnectionFactory"
>>>>>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>>>>>         <property name="brokerURL" value="${URL}" />
>>>>>>         <property name="userName" value="${USERNAME}" />
>>>>>>         <property name="password" value="${PASSWORD}" />
>>>>>>     </bean>
>>>>>>
>>>>>> Having etc/org.ops4j.connectionfactory-producer.cfg doesn't affect
>>>>>> your ActiveMQCOnnectionFactory +
>>>>>> org.apache.activemq.pool.PooledConnectionFactory beans...
>>>>>>
>>>>>> With pax-jms, you should expose underlying connection
>>>>>> javax.jms.ConnectionFactory OSGi service (ActiveMQConnectionFactory)
>>>>>> without org.apache.activemq.pool.PooledConnectionFactory.
>>>>>>
>>>>>> Probably with pax-jms you have 3 layers: pooled-jms →
>>>>>> PooledConnectionFactory → ActiveMQConnectionFactory.
>>>>>>
>>>>>> Now you don't need org.apache.activemq.pool.PooledConnectionFactory
>>>>>> beans.
>>>>>>
>>>>>> regards
>>>>>> Grzegorz Grzybek
>>>>>>
>>>>>>
>>>>>> pon., 17 cze 2019 o 13:05 Kushal Gautam <kushal...@gmail.com>
>>>>>> napisał(a):
>>>>>>
>>>>>>> Hi:
>>>>>>>
>>>>>>> this was my previous config:
>>>>>>>
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <blueprint  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>>>>>>>             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>>>             xmlns:cm="
>>>>>>> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0";
>>>>>>>             xsi:schemaLocation="
>>>>>>>                 http://www.osgi.org/xmlns/blueprint/v1.0.0
>>>>>>> https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>>>>>>>
>>>>>>> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.3.0
>>>>>>> http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd
>>>>>>>             ">
>>>>>>>
>>>>>>>     <cm:property-placeholder persistent-id="prs-eai-broker"
>>>>>>> update-strategy="reload" >
>>>>>>>         <cm:default-properties>
>>>>>>>             <cm:property name="URL" value="tcp://localhost:61616" />
>>>>>>>             <cm:property name="USERNAME" value="system" />
>>>>>>>             <cm:property name="PASSWORD" value="manager" />
>>>>>>>             <cm:property name="MAX_CONNECTIONS" value="20" />
>>>>>>>             <cm:property name="PRODUCER_JNDI_NAME"
>>>>>>> value="jms/producer" />
>>>>>>>             <cm:property name="CONSUMER_JNDI_NAME"
>>>>>>> value="jms/consumer" />
>>>>>>>         </cm:default-properties>
>>>>>>>     </cm:property-placeholder>
>>>>>>>
>>>>>>>     <bean id="activemqConnectionFactory"
>>>>>>> class="org.apache.activemq.ActiveMQConnectionFactory">
>>>>>>>         <property name="brokerURL" value="${URL}" />
>>>>>>>         <property name="userName" value="${USERNAME}" />
>>>>>>>         <property name="password" value="${PASSWORD}" />
>>>>>>>     </bean>
>>>>>>>
>>>>>>>     <bean id="consumerPooledConnectionFactory"
>>>>>>> class="org.apache.activemq.pool.PooledConnectionFactory">
>>>>>>>         <property name="maxConnections" value="${MAX_CONNECTIONS}" />
>>>>>>>         <property name="connectionFactory"
>>>>>>> ref="activemqConnectionFactory" />
>>>>>>>     </bean>
>>>>>>>
>>>>>>>     <bean id="producerPooledConnectionFactory"
>>>>>>> class="org.apache.activemq.pool.PooledConnectionFactory">
>>>>>>>         <property name="maxConnections" value="${MAX_CONNECTIONS}" />
>>>>>>>         <property name="connectionFactory"
>>>>>>> ref="activemqConnectionFactory" />
>>>>>>>     </bean>
>>>>>>>
>>>>>>>     <service ref="producerPooledConnectionFactory"
>>>>>>> interface="javax.jms.ConnectionFactory">
>>>>>>>         <service-properties>
>>>>>>>             <entry key="name" value="producer" />
>>>>>>>             <entry key="osgi.jndi.service.name"
>>>>>>> value="${PRODUCER_JNDI_NAME}" />
>>>>>>>         </service-properties>
>>>>>>>     </service>
>>>>>>>
>>>>>>>     <service ref="consumerPooledConnectionFactory"
>>>>>>> interface="javax.jms.ConnectionFactory">
>>>>>>>         <service-properties>
>>>>>>>             <entry key="name" value="consumer" />
>>>>>>>             <entry key="osgi.jndi.service.name"
>>>>>>> value="${CONSUMER_JNDI_NAME}" />
>>>>>>>         </service-properties>
>>>>>>>     </service>
>>>>>>>
>>>>>>> </blueprint>
>>>>>>>
>>>>>>> I will try to see if I can get the stack trace. This problem is
>>>>>>> currently there in the prod. system. So, I have to check that once.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Cooshal.
>>>>>>>
>>>>>>> On Monday, June 17, 2019 at 12:20:52 PM UTC+2, Grzegorz Grzybek
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hello
>>>>>>>>
>>>>>>>> What was your previous configuration? Is there a chance to get a
>>>>>>>> stack trace from under the debugger in the place where message is put 
>>>>>>>> into
>>>>>>>> queue?
>>>>>>>>
>>>>>>>> regards
>>>>>>>> Grzegorz Grzybek
>>>>>>>>
>>>>>>>> pon., 17 cze 2019 o 12:11 Kushal Gautam <kushal...@gmail.com>
>>>>>>>> napisał(a):
>>>>>>>>
>>>>>>>>> Currently, I am observing some lag in putting the messages in one
>>>>>>>>> of the queues. Roughly, the number is about 1-4 messages per second. 
>>>>>>>>> And,
>>>>>>>>> this is way too slow than my previous configuration.
>>>>>>>>>
>>>>>>>>> I checked this from the activemq console.
>>>>>>>>>
>>>>>>>>> I will try to see if I can produce some performance metrics. But,
>>>>>>>>> the thing is that I observed the enqueue/dequeue rates to be 
>>>>>>>>> extremely slow.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Cooshal.
>>>>>>>>>
>>>>>>>>> On Monday, June 17, 2019 at 11:02:40 AM UTC+2, Grzegorz Grzybek
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hello
>>>>>>>>>>
>>>>>>>>>> What kind of processing performance problems do you have? pax-jms
>>>>>>>>>> doesn't add any special processing - it only deals with exposing 
>>>>>>>>>> connection
>>>>>>>>>> factories to your beans/components/services/...
>>>>>>>>>>
>>>>>>>>>> PooledJMS itself MAY add some processing overhead, but it of
>>>>>>>>>> course depends on its configuration. After your application calls
>>>>>>>>>> javax.jms.ConnectionFactory.getConnection(), it's all up to
>>>>>>>>>> you/camel-jms/spring-jms how to use/cache/not-cache it...
>>>>>>>>>>
>>>>>>>>>> I'm interested in some numbers, logs maybe - how did you find out
>>>>>>>>>> that the performance is worse?
>>>>>>>>>>
>>>>>>>>>> thanks in advance for any help/feedback
>>>>>>>>>> regards
>>>>>>>>>> Grzegorz Grzybek
>>>>>>>>>>
>>>>>>>>>> pon., 17 cze 2019 o 10:57 Kushal Gautam <kushal...@gmail.com>
>>>>>>>>>> napisał(a):
>>>>>>>>>>
>>>>>>>>>>> Hi:
>>>>>>>>>>>
>>>>>>>>>>> I am using Camel with Karaf, and ActiveMQ
>>>>>>>>>>>
>>>>>>>>>>> Before using pax-jms, I was providing connectionfactories as
>>>>>>>>>>> artifact. But, since it was not configurable, I planned to switch 
>>>>>>>>>>> it to
>>>>>>>>>>> pax-jms.
>>>>>>>>>>>
>>>>>>>>>>> But, so far, after switching to pax-jms, I have noticed
>>>>>>>>>>> performance lag in message processing. I am not entirely sure, if 
>>>>>>>>>>> this is
>>>>>>>>>>> due to pax-jms.
>>>>>>>>>>>
>>>>>>>>>>> Thus, in general, does pax-jms degrade the message processing
>>>>>>>>>>> performance at all?
>>>>>>>>>>>
>>>>>>>>>>> For example, my jms-config looks like:
>>>>>>>>>>>
>>>>>>>>>>> name = eai-producer
>>>>>>>>>>> jms.url = tcp://localhost:61616
>>>>>>>>>>> jms.username = system
>>>>>>>>>>> jms.password = manager
>>>>>>>>>>> type = activemq
>>>>>>>>>>> pool = pooledjms
>>>>>>>>>>> osgi.jndi.service.name = jms/producer
>>>>>>>>>>> org.apache.karaf.features.configKey =
>>>>>>>>>>> org.ops4j.connectionfactory-producer
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Cooshal.
>>>>>>>>>>> --
>>>>>>>>>>> --
>>>>>>>>>>> ------------------
>>>>>>>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>>>>>>>>>
>>>>>>>>>>> ---
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "OPS4J" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to op...@googlegroups.com.
>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/dc425a85-23d9-4f47-a855-9d9d96a70689%40googlegroups.com
>>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/dc425a85-23d9-4f47-a855-9d9d96a70689%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> ------------------
>>>>>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "OPS4J" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to op...@googlegroups.com.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msgid/ops4j/3c8d060e-8f7b-4c47-aee3-1b955d217aef%40googlegroups.com
>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/3c8d060e-8f7b-4c47-aee3-1b955d217aef%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> --
>>>>>>> --
>>>>>>> ------------------
>>>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>>>>>
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "OPS4J" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to op...@googlegroups.com.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/ops4j/13c998f7-3dc2-4a5e-b894-8622ce1dbad4%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/ops4j/13c998f7-3dc2-4a5e-b894-8622ce1dbad4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> --
>>>>> --
>>>>> ------------------
>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>>>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "OPS4J" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to op...@googlegroups.com.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/ops4j/0f4804ab-4425-4a3d-a830-4d021f07422f%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ops4j/0f4804ab-4425-4a3d-a830-4d021f07422f%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>> --
>>>> --
>>>> ------------------
>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OPS4J" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to op...@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/ops4j/f44f861b-9793-4155-af05-57a60182c5a4%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/ops4j/f44f861b-9793-4155-af05-57a60182c5a4%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>> --
>>> --
>>> ------------------
>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OPS4J" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to op...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/ops4j/67d50e80-2975-4db6-b999-7a93066d0aaf%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ops4j/67d50e80-2975-4db6-b999-7a93066d0aaf%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
> --
> ------------------
> OPS4J - http://www.ops4j.org - ops4j@googlegroups.com
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OPS4J" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ops4j+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ops4j/5cf80056-ba28-4ede-acb8-e704e1460ebe%40googlegroups.com
> <https://groups.google.com/d/msgid/ops4j/5cf80056-ba28-4ede-acb8-e704e1460ebe%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - ops4j@googlegroups.com

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ops4j+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/CAAdXmhpKLuu9LuVKvBOdx7OT09Cj%3DiCAQBJjP74fVWqMGP09aA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to