Re: [PET] JMS Send Connector

classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

malakasilva
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

Also how are you planning to implement the expiry handling?

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

malakasilva
In reply to this post by hmrajas1990


On Thu, May 4, 2017 at 6:43 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi

On Wed, May 3, 2017 at 2:36 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect

Yes, I guess current code do not have that.

Secondly, please think of the distributed transaction support [1]

e.g
Transaction transaction = (Transaction) msgCtx.getProperty(JMSConstants.JMS_XA_TRANSACTION);
            if (msgCtx.getTo().toString().contains("transport.jms.TransactionCommand=end")) {
                commitXATransaction(transaction);
            } else if (msgCtx.getTo().toString().contains("transport.jms.TransactionCommand=rollback")) {
                rollbackXATransaction(transaction);
            }
            metrics.incrementMessagesSent(msgCtx);

Regarding the cache, I think there is no potential benifit to share the Cache information through cluster, so i guess the implementation is just pure javax caching framework
​Yes agree with Dushan. I just wanted to clarify this. Standalone is good enough.​
 

[3] (DOMINOSPROD-4) Support JMS publisher level caching for dynamic Topics/Queues
--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312" target="_blank">(001)408-791-9312




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Hasitha Hiranya
In reply to this post by hmrajas1990
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Kasun Indrasiri-2
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: +1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

malakasilva
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

malakasilva
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Dushan Abeyruwan
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Dushan Abeyruwan
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Hasitha Hiranya
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

Dushan Abeyruwan
Hi Folks,
 Can we promote this implementation to the Ballerina JMS Producer?  ATM ballerina does not have a producer implementation supports the way we intended i.e allowing connections, sessions to be cached in an appropriate manner. 

Cheers,
Dushan

On Thu, Jun 22, 2017 at 5:50 PM, Hasitha Hiranya <[hidden email]> wrote:
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi All,

So far I have implemented the connector based on my knowledge and the mail and offline discussions. Please find the connector flow diagram below.


Inline image 1

In the current implementation, I have used the producer for the pool but as per the discussion in the last code review [1], there is a suggestion to use the pool for sessions instead of the producer. Because creating the session is costly and we can use the session for the broker. WDYT?

Since we are setting the expiration time for the cache I didn't handle the single producer expiration handling because connector will create all the producers at the same time and when the cache timeout it will clear all producers.


[1]Invitation: [PET] JMS Connector code review @ Wed Jul 5, 2017 1pm - 2pm (IST) (WSO2 Engineering Group)


On Tue, Jul 4, 2017 at 12:37 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Folks,
 Can we promote this implementation to the Ballerina JMS Producer?  ATM ballerina does not have a producer implementation supports the way we intended i.e allowing connections, sessions to be cached in an appropriate manner. 

Cheers,
Dushan

On Thu, Jun 22, 2017 at 5:50 PM, Hasitha Hiranya <[hidden email]> wrote:
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi All,

Please find the test results for the connector.

Environment

OS

14.04

JDK version

1.8.0_45

WSO2 ESB version

5.0.0

ActiveMQ

5.14.5

Apache Jmeter version

2.82



*Tests were performed with JMeter 2.82 with following configurations.



Xmx

1024mb

Xms

4096mb

Message size

5 KB




# Of Publisher Threads

# of messages/thread

Publisher Throughput (msg/s)

5

20000

1330.0/sec

10

10000

1888.5/sec



On Fri, Jul 7, 2017 at 11:00 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

So far I have implemented the connector based on my knowledge and the mail and offline discussions. Please find the connector flow diagram below.


Inline image 1

In the current implementation, I have used the producer for the pool but as per the discussion in the last code review [1], there is a suggestion to use the pool for sessions instead of the producer. Because creating the session is costly and we can use the session for the broker. WDYT?

Since we are setting the expiration time for the cache I didn't handle the single producer expiration handling because connector will create all the producers at the same time and when the cache timeout it will clear all producers.


[1]Invitation: [PET] JMS Connector code review @ Wed Jul 5, 2017 1pm - 2pm (IST) (WSO2 Engineering Group)


On Tue, Jul 4, 2017 at 12:37 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Folks,
 Can we promote this implementation to the Ballerina JMS Producer?  ATM ballerina does not have a producer implementation supports the way we intended i.e allowing connections, sessions to be cached in an appropriate manner. 

Cheers,
Dushan

On Thu, Jun 22, 2017 at 5:50 PM, Hasitha Hiranya <[hidden email]> wrote:
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:(001)408-791-9312




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

malakasilva
Hi Rajjaz,

I think we are over engineering this requirement and making it complex. What we need is JMS publishing (same JMS functionality as JMS transport) and caching on top of it.

On Fri, Jul 7, 2017 at 4:05 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

Please find the test results for the connector.

Environment

OS

14.04

JDK version

1.8.0_45

WSO2 ESB version

5.0.0

ActiveMQ

5.14.5

Apache Jmeter version

2.82



*Tests were performed with JMeter 2.82 with following configurations.



Xmx

1024mb

Xms

4096mb

Message size

5 KB




# Of Publisher Threads

# of messages/thread

Publisher Throughput (msg/s)

5

20000

1330.0/sec

10

10000

1888.5/sec



On Fri, Jul 7, 2017 at 11:00 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

So far I have implemented the connector based on my knowledge and the mail and offline discussions. Please find the connector flow diagram below.


Inline image 1

In the current implementation, I have used the producer for the pool but as per the discussion in the last code review [1], there is a suggestion to use the pool for sessions instead of the producer. Because creating the session is costly and we can use the session for the broker. WDYT?
​We may need to investigate and decide based on the behavior.​


Since we are setting the expiration time for the cache I didn't handle the single producer expiration handling because connector will create all the producers at the same time and when the cache timeout it will clear all producers.
​Requirement is to remove expired pool connections/sessions not the complete pool. We can find the best way to do it. eg: Using caching, background job or at the time of giving a connection back.​


[1]Invitation: [PET] JMS Connector code review @ Wed Jul 5, 2017 1pm - 2pm (IST) (WSO2 Engineering Group)


On Tue, Jul 4, 2017 at 12:37 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Folks,
 Can we promote this implementation to the Ballerina JMS Producer?  ATM ballerina does not have a producer implementation supports the way we intended i.e allowing connections, sessions to be cached in an appropriate manner. 

Cheers,
Dushan

On Thu, Jun 22, 2017 at 5:50 PM, Hasitha Hiranya <[hidden email]> wrote:
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293" target="_blank">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312" target="_blank">(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312" target="_blank">(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312" target="_blank">(001)408-791-9312




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834" target="_blank">+94752833834|<a href="tel:077%20722%206874" value="+94777226874" target="_blank">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:077%20721%209791" value="+94777219791" target="_blank">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300" target="_blank">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [PET] JMS Send Connector

hmrajas1990
Hi Malaka,

On Fri, Jul 7, 2017 at 9:33 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I think we are over engineering this requirement and making it complex. What we need is JMS publishing (same JMS functionality as JMS transport) and caching on top of it.

On Fri, Jul 7, 2017 at 4:05 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

Please find the test results for the connector.

Environment

OS

14.04

JDK version

1.8.0_45

WSO2 ESB version

5.0.0

ActiveMQ

5.14.5

Apache Jmeter version

2.82



*Tests were performed with JMeter 2.82 with following configurations.



Xmx

1024mb

Xms

4096mb

Message size

5 KB




# Of Publisher Threads

# of messages/thread

Publisher Throughput (msg/s)

5

20000

1330.0/sec

10

10000

1888.5/sec



On Fri, Jul 7, 2017 at 11:00 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

So far I have implemented the connector based on my knowledge and the mail and offline discussions. Please find the connector flow diagram below.


Inline image 1

In the current implementation, I have used the producer for the pool but as per the discussion in the last code review [1], there is a suggestion to use the pool for sessions instead of the producer. Because creating the session is costly and we can use the session for the broker. WDYT?
​We may need to investigate and decide based on the behavior.​
 
AFAIK MessageProducer have the option to set and get the TimeToLive so we can handle easily in the pool. Producer level cache will provide maximum performance[1].



Since we are setting the expiration time for the cache I didn't handle the single producer expiration handling because connector will create all the producers at the same time and when the cache timeout it will clear all producers.
​Requirement is to remove expired pool connections/sessions not the complete pool. We can find the best way to do it. eg: Using caching, background job or at the time of giving a connection back.​

We are removing complete pool only at the time of cache expiration or any exception occurred in the background and I have added[2] this suggestion to remove the single publisher from the pool if it's expired/to be expired before cache expire.

[1] https://docs.wso2.com/display/ESB490/JMS+Scenarios
[2] https://github.com/wso2-extensions/esb-connector-jms/pull/1

[1]Invitation: [PET] JMS Connector code review @ Wed Jul 5, 2017 1pm - 2pm (IST) (WSO2 Engineering Group)


On Tue, Jul 4, 2017 at 12:37 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Folks,
 Can we promote this implementation to the Ballerina JMS Producer?  ATM ballerina does not have a producer implementation supports the way we intended i.e allowing connections, sessions to be cached in an appropriate manner. 

Cheers,
Dushan

On Thu, Jun 22, 2017 at 5:50 PM, Hasitha Hiranya <[hidden email]> wrote:
I would also like to have a look. Let's talk. 

On Thu, Jun 22, 2017 at 10:31 PM, Dushan Abeyruwan <[hidden email]> wrote:
[+Nandika] FYI

On Thu, Jun 22, 2017 at 3:41 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have run the long and load test for the jms connector and please find the output below.

I have implemented 2 methods in connector and tested with ActiveMQ 5.14.5 and wso2mb 3.1.0
  • init :- create the connection cache
  • sendJMSMessage :- send the JMS message to back end


Proxy

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="JMSSendConnector"
       transports="https http"
       startOnLoad="true">
   <description/>
   <target>
      <inSequence>
         <property name="OUT_ONLY" value="true"/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
         <iterate xmlns:xsd="http://services.samples/xsd"
                  xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
                  xmlns:ser="http://services.samples"
                  id="msgIterator"
                  expression="//xsd:symbol">
            <target>
               <sequence>
                  <property name="destinationName"
                            expression="//xsd:symbol"
                            description=""/>
                   <jms.init>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <connectionFactoryValue>tcp://localhost:61616</connectionFactoryValue>
                     <namingFactory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</namingFactory>
                     <destinationType>queue</destinationType>
                     <cacheExpirationInterval>60000</cacheExpirationInterval>
                     <connectionPoolSize>100</connectionPoolSize>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.init>
                  <jms.SendJMS>
                     <connectionFactoryName>QueueConnectionFactory</connectionFactoryName>
                     <destinationType>queue</destinationType>
                     <destinationName>{$ctx:destinationName}</destinationName>
                  </jms.SendJMS>

               </sequence>
            </target>
         </iterate>
         <respond/>
      </inSequence>
   </target>
</proxy>


Test result from resource cloud

                       request       time       throuput
summary = 8725221 in  6096s = 1431.3/s Avg:     2 Min:     1 Max:   610 Err:     0 (0.00%)


local test result


On Sat, Jun 17, 2017 at 11:29 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Dushan,

So far I have implemented the connector but this is not production ready need to test long run test and load tests with multiple message brokers.

Planning to finish by end of next week (22/06/2017).

On Sat, Jun 17, 2017 at 1:52 AM, Dushan Abeyruwan <[hidden email]> wrote:
Hi Rajjaz, 
  Can I know the status of the connector implementation? We receive higher demand on $subject these days. Let me know whether if this is ready so I can involve for some testings.

Cheers,
Dishan

On Mon, May 15, 2017 at 4:30 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

I have updated the plan. Please check the new one.

On Mon, May 15, 2017 at 4:18 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

I feel we need to test with load and concurrent request before release and one day not be sufficient.

On Mon, May 15, 2017 at 4:14 PM, Rajjaz Mohammed <[hidden email]> wrote:

On Mon, May 15, 2017 at 4:04 PM, Malaka Silva <[hidden email]> wrote:
Hi Kasun,

What we thought was doing this as a connector we can support already released versions.

@Rajjaz - Can you update with the milestone plan please. 

On Thu, May 4, 2017 at 10:28 AM, Kasun Indrasiri <[hidden email]> wrote:
Hi, 

What's the rationale behind a 'JMS Send Connector'? I guess even the name conflicts with the Connector concept. Isn't this something we can add as a feature/enhancement for the JMS transport sender? 

On Wed, May 3, 2017 at 9:53 PM, Hasitha Hiranya <[hidden email]> wrote:
IMO a shared connection pool between nodes is too error prone.

On Thu, May 4, 2017 at 6:18 AM, Rajjaz Mohammed <[hidden email]> wrote:
Hi Malaka,

On Wed, May 3, 2017 at 6:24 PM, Malaka Silva <[hidden email]> wrote:
Hi Rajjaz,

Thx for the explanation. Have few grey areas.

Is the connection pool stand along or will be shared in the cluster? 

I have a plan to implement connection plan per node. If we need the improvement i will try to create the shared connection pool.

Also how are you planning to implement the expiry handling?

Yes, I have a idea to maintain the property for Connection_Expiration_Interval.

On Wed, May 3, 2017 at 3:12 PM, Rajjaz Mohammed <[hidden email]> wrote:


On Wed, May 3, 2017 at 3:06 PM, Rajjaz Mohammed <[hidden email]> wrote:
Hi All,

I have planned to implement the JMS Producer with Connection cache[1][3].

We observed now that using a single cached connection per topic/queue still enforces a synchronous publishing behaviour (multiple proxy invocations fighting for the same connection to publish a message).

So to overcome Hasitha written a class mediator [2] with improved configurable pool of JMS connections per each topic/queue when publishing the messages.

major issues with existing axis2 backed JMS sender which works with ESB are,

  1. Make a connection, session, sender
  2. Send one message
  3. Close connection, session, sender

So TCP connections are created and closed per message which gives problems when we push messages with a high TPS. For an example, if ESB needs to send messages to broker with 1000 TPS, it needs to create 1000 TCP connections and close them within a second.

Connection/session/sender level caching does not seem to work in ESB for Sending.

Also, we need to pay attention to failover scenarios here as well. We need to invalidate old (cached) connections/sessions/sender objects properly once failover/reconnect


@All

Please add your suggestion more over to this.


Detailed sequence diagram for reference.

Inline image 1

[1] https://wso2.org/jira/projects/ESBCONNECT/issues/ESBCONNECT-142

[2] https://github.com/hastef88/wso2.tryouts/tree/queue_and_pooling_implementation/JMSPublisherCacheMediator

--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834">+94752833834|<a href="tel:077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Kasun Indrasiri
Director - Integration Architecture
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

cell: <a href="tel:+1%20650-450-2293" value="+16504502293">+1 650 450 2293
Blog : http://kasunpanorama.blogspot.com/

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834">+94752833834|<a href="tel:077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:+94%2077%20721%209791" value="+94777219791">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312">(001)408-791-9312


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312">(001)408-791-9312




--
Hasitha Abeykoon
Senior Software EngineerWSO2, Inc.; http://wso2.com




--
Dushan Abeyruwan | Senior Technical Lead
Technical Support,MV
PMC Member Apache Synpase
WSO2 Inc. http://wso2.com/
Mobile:<a href="tel:+1%20408-791-9312" value="+14087919312">(001)408-791-9312




--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:+94%2075%20283%203834" value="+94752833834">+94752833834|<a href="tel:+94%2077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | <a href="tel:075%20283%203834" value="+94752833834">+94752833834|<a href="tel:077%20722%206874" value="+94777226874">+94777226874
Email   | [hidden email]



--

Best Regards,

Malaka Silva
Associate Director / Architect
M: <a href="tel:077%20721%209791" value="+94777219791">+94 777 219 791
Tel : 94 11 214 5345
Fax :<a href="tel:011%202%20145300" value="+94112145300">94 11 2145300 
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77

WSO2, Inc. 
lean . enterprise . middleware 
https://wso2.com/signature

Don't make Trees rare, we should keep them with care



--
Thank you
Best Regards

Rajjaz HM

Software Engineer
Platform Extension Team
WSO2 Inc.
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | [hidden email]

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
12