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 <[email protected]>
>>> 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 <[email protected]>
>>>>> 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 <[email protected]>
>>>>>>> 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 - [email protected]
>>>>>>>>
>>>>>>>> ---
>>>>>>>> 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 [email protected].
>>>>>>>> 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 - [email protected]
>>>>>>
>>>>>> ---
>>>>>> 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 [email protected].
>>>>>> 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 - [email protected]
>>>>
>>>> ---
>>>> 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 [email protected].
>>>> 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 - [email protected]
>>
>> ---
>> 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 [email protected].
>> 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 - [email protected] <javascript:>
>
> ---
> 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 [email protected] <javascript:>.
> 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 - [email protected]
---
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ops4j/67d50e80-2975-4db6-b999-7a93066d0aaf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.