CorrelationId

2014-10-02 Thread xavier
Hi all,
I am new with Qpid Proton  So I try to using it with ActiveMq, and
migrate my old code based on CMS (JMS for C) ! I would like to get a message
filtered on correlationId, like with CMS:

session-createConsumer(destination, JMSCorrelationID=' + correlationId +
')

But with Qpid proton (proton/messenger.h) how can I do that???

Any help will be appreciate

Regards




--
View this message in context: 
http://qpid.2158936.n2.nabble.com/CorrelationId-tp7614606.html
Sent from the Apache Qpid Proton mailing list archive at Nabble.com.


Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Robbie Gemmell
Hi Ernie,

The proton-api module no longer exists, it was merged with proton-j-impl to
form the current proton-j module, so there are snapshots (which are
confusingly named 1.0-SNAPSHOT all the time currently) being made for it
now. The JNI bits were also removed around the same time.

I'm afraid I never ran the tool that you are trying to use, but I would
assume that it no longer works given the above. What version are you using
if you managed to have a jni jar?

Robbie

On 1 October 2014 19:16, Ernest Allen eal...@redhat.com wrote:

 There is probably a simple solution to this, but I'm trying to run the
 api-reconciliation tool and I'm getting errors.

 Here is what I've done:

 - built proton
 - did a source config.sh from the build dir
 - switched to the design/api-reconciliation dir
 - ran ./generate-c-functions.sh
 - verified that target/cfunctions.txt exists
 - ran mvn clean install -U
 - ran mvn compile
 - ran mvn exec:java

 Here is the output from the exec:
 [INFO] Scanning for projects...
 [INFO]
 [INFO]
 
 [INFO] Building proton-api-reconciliation 1.0-SNAPSHOT
 [INFO]
 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation ---
 [WARNING] The POM for org.apache.qpid:proton-api:jar:1.0-SNAPSHOT is
 missing, no dependency information available
 [INFO]
 
 [INFO] BUILD FAILURE
 [INFO]
 
 [INFO] Total time: 1.563s
 [INFO] Finished at: Wed Oct 01 14:06:17 EDT 2014
 [INFO] Final Memory: 8M/103M
 [INFO]
 
 [ERROR] Failed to execute goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project
 proton-api-reconciliation: Execution default-cli of goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java failed: Plugin
 org.codehaus.mojo:exec-maven-plugin:1.2.1 or one of its dependencies could
 not be resolved: Failure to find
 org.apache.qpid:proton-api:jar:1.0-SNAPSHOT in
 http://snapshots.repository.codehaus.org was cached in the local
 repository, resolution will not be reattempted until the update interval of
 codehaus.org has elapsed or updates are forced - [Help 1]
 [ERROR]
 [ERROR] To see the full stack trace of the errors, re-run Maven with the
 -e switch.
 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
 [ERROR]
 [ERROR] For more information about the errors and possible solutions,
 please read the following articles:
 [ERROR] [Help 1]
 http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

 From this I'm assuming that I'm missing the correct proton-api.jar, but
 I'm unclear on how to build/install it. I found a pom.xml for proton-api
 version 0.6, but api-reconciliation is looking for version 1.0-SNAPSHOT.
 When I modify the api-reconciliation pom to use the 0.6 proton.api.jar, it
 crashes.

 Any suggestions?

 P.S. I should mention that I built the proton-jni jar file separately and
 copied to my build/proton-c/bindings/java directory

 Thanks
 -Ernie



Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Robbie Gemmell
On 2 October 2014 16:13, Robbie Gemmell robbie.gemm...@gmail.com wrote:

 Hi Ernie,

 The proton-api module no longer exists, it was merged with proton-j-impl
 to form the current proton-j module, so there are snapshots


* no snapshots


 (which are confusingly named 1.0-SNAPSHOT all the time currently) being
 made for it now. The JNI bits were also removed around the same time.

 I'm afraid I never ran the tool that you are trying to use, but I would
 assume that it no longer works given the above. What version are you using
 if you managed to have a jni jar?

 Robbie


 On 1 October 2014 19:16, Ernest Allen eal...@redhat.com wrote:

 There is probably a simple solution to this, but I'm trying to run the
 api-reconciliation tool and I'm getting errors.

 Here is what I've done:

 - built proton
 - did a source config.sh from the build dir
 - switched to the design/api-reconciliation dir
 - ran ./generate-c-functions.sh
 - verified that target/cfunctions.txt exists
 - ran mvn clean install -U
 - ran mvn compile
 - ran mvn exec:java

 Here is the output from the exec:
 [INFO] Scanning for projects...
 [INFO]
 [INFO]
 
 [INFO] Building proton-api-reconciliation 1.0-SNAPSHOT
 [INFO]
 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation ---
 [WARNING] The POM for org.apache.qpid:proton-api:jar:1.0-SNAPSHOT is
 missing, no dependency information available
 [INFO]
 
 [INFO] BUILD FAILURE
 [INFO]
 
 [INFO] Total time: 1.563s
 [INFO] Finished at: Wed Oct 01 14:06:17 EDT 2014
 [INFO] Final Memory: 8M/103M
 [INFO]
 
 [ERROR] Failed to execute goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project
 proton-api-reconciliation: Execution default-cli of goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java failed: Plugin
 org.codehaus.mojo:exec-maven-plugin:1.2.1 or one of its dependencies could
 not be resolved: Failure to find
 org.apache.qpid:proton-api:jar:1.0-SNAPSHOT in
 http://snapshots.repository.codehaus.org was cached in the local
 repository, resolution will not be reattempted until the update interval of
 codehaus.org has elapsed or updates are forced - [Help 1]
 [ERROR]
 [ERROR] To see the full stack trace of the errors, re-run Maven with the
 -e switch.
 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
 [ERROR]
 [ERROR] For more information about the errors and possible solutions,
 please read the following articles:
 [ERROR] [Help 1]
 http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

 From this I'm assuming that I'm missing the correct proton-api.jar, but
 I'm unclear on how to build/install it. I found a pom.xml for proton-api
 version 0.6, but api-reconciliation is looking for version 1.0-SNAPSHOT.
 When I modify the api-reconciliation pom to use the 0.6 proton.api.jar, it
 crashes.

 Any suggestions?

 P.S. I should mention that I built the proton-jni jar file separately and
 copied to my build/proton-c/bindings/java directory

 Thanks
 -Ernie





Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Ernest Allen
Thanks Robbie. In order to get the proton-jni jar I naively checked out and 
built the branch named jni-binding and copied the contents of the 
build/proton-c/bindings/java dir.

Since the api-reconciliation tool is no longer viable, are there any example 
java apps that use the engine api?

-Ernie
  

- Original Message -
From: Robbie Gemmell robbie.gemm...@gmail.com
To: proton@qpid.apache.org
Sent: Thursday, October 2, 2014 11:14:29 AM
Subject: Re: how can I get proton-api version 1.0-SNAPSHOT for 
api-reconciliation?

On 2 October 2014 16:13, Robbie Gemmell robbie.gemm...@gmail.com wrote:

 Hi Ernie,

 The proton-api module no longer exists, it was merged with proton-j-impl
 to form the current proton-j module, so there are snapshots


* no snapshots


 (which are confusingly named 1.0-SNAPSHOT all the time currently) being
 made for it now. The JNI bits were also removed around the same time.

 I'm afraid I never ran the tool that you are trying to use, but I would
 assume that it no longer works given the above. What version are you using
 if you managed to have a jni jar?

 Robbie


 On 1 October 2014 19:16, Ernest Allen eal...@redhat.com wrote:

 There is probably a simple solution to this, but I'm trying to run the
 api-reconciliation tool and I'm getting errors.

 Here is what I've done:

 - built proton
 - did a source config.sh from the build dir
 - switched to the design/api-reconciliation dir
 - ran ./generate-c-functions.sh
 - verified that target/cfunctions.txt exists
 - ran mvn clean install -U
 - ran mvn compile
 - ran mvn exec:java

 Here is the output from the exec:
 [INFO] Scanning for projects...
 [INFO]
 [INFO]
 
 [INFO] Building proton-api-reconciliation 1.0-SNAPSHOT
 [INFO]
 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation ---
 [WARNING] The POM for org.apache.qpid:proton-api:jar:1.0-SNAPSHOT is
 missing, no dependency information available
 [INFO]
 
 [INFO] BUILD FAILURE
 [INFO]
 
 [INFO] Total time: 1.563s
 [INFO] Finished at: Wed Oct 01 14:06:17 EDT 2014
 [INFO] Final Memory: 8M/103M
 [INFO]
 
 [ERROR] Failed to execute goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project
 proton-api-reconciliation: Execution default-cli of goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java failed: Plugin
 org.codehaus.mojo:exec-maven-plugin:1.2.1 or one of its dependencies could
 not be resolved: Failure to find
 org.apache.qpid:proton-api:jar:1.0-SNAPSHOT in
 http://snapshots.repository.codehaus.org was cached in the local
 repository, resolution will not be reattempted until the update interval of
 codehaus.org has elapsed or updates are forced - [Help 1]
 [ERROR]
 [ERROR] To see the full stack trace of the errors, re-run Maven with the
 -e switch.
 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
 [ERROR]
 [ERROR] For more information about the errors and possible solutions,
 please read the following articles:
 [ERROR] [Help 1]
 http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

 From this I'm assuming that I'm missing the correct proton-api.jar, but
 I'm unclear on how to build/install it. I found a pom.xml for proton-api
 version 0.6, but api-reconciliation is looking for version 1.0-SNAPSHOT.
 When I modify the api-reconciliation pom to use the 0.6 proton.api.jar, it
 crashes.

 Any suggestions?

 P.S. I should mention that I built the proton-jni jar file separately and
 copied to my build/proton-c/bindings/java directory

 Thanks
 -Ernie





Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Clebert Suconic
If you want another example you can also look at the Proton integration I'm 
doing at HornetQ:

https://github.com/hornetq/ProtonPlug


I made it to be pluggable with a minimal interface.. I don't think I will keep 
it as a separate library.. but it could suite you as an example.  



On Oct 2, 2014, at 11:31 AM, Ernest Allen eal...@redhat.com wrote:

 Thanks Robbie. In order to get the proton-jni jar I naively checked out and 
 built the branch named jni-binding and copied the contents of the 
 build/proton-c/bindings/java dir.
 
 Since the api-reconciliation tool is no longer viable, are there any example 
 java apps that use the engine api?
 
 -Ernie
 
 
 - Original Message -
 From: Robbie Gemmell robbie.gemm...@gmail.com
 To: proton@qpid.apache.org
 Sent: Thursday, October 2, 2014 11:14:29 AM
 Subject: Re: how can I get proton-api version 1.0-SNAPSHOT for 
 api-reconciliation?
 
 On 2 October 2014 16:13, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 
 Hi Ernie,
 
 The proton-api module no longer exists, it was merged with proton-j-impl
 to form the current proton-j module, so there are snapshots
 
 
 * no snapshots
 
 
 (which are confusingly named 1.0-SNAPSHOT all the time currently) being
 made for it now. The JNI bits were also removed around the same time.
 
 I'm afraid I never ran the tool that you are trying to use, but I would
 assume that it no longer works given the above. What version are you using
 if you managed to have a jni jar?
 
 Robbie
 
 
 On 1 October 2014 19:16, Ernest Allen eal...@redhat.com wrote:
 
 There is probably a simple solution to this, but I'm trying to run the
 api-reconciliation tool and I'm getting errors.
 
 Here is what I've done:
 
 - built proton
 - did a source config.sh from the build dir
 - switched to the design/api-reconciliation dir
 - ran ./generate-c-functions.sh
 - verified that target/cfunctions.txt exists
 - ran mvn clean install -U
 - ran mvn compile
 - ran mvn exec:java
 
 Here is the output from the exec:
 [INFO] Scanning for projects...
 [INFO]
 [INFO]
 
 [INFO] Building proton-api-reconciliation 1.0-SNAPSHOT
 [INFO]
 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO]  exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation 
 [INFO]
 [INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @
 proton-api-reconciliation ---
 [WARNING] The POM for org.apache.qpid:proton-api:jar:1.0-SNAPSHOT is
 missing, no dependency information available
 [INFO]
 
 [INFO] BUILD FAILURE
 [INFO]
 
 [INFO] Total time: 1.563s
 [INFO] Finished at: Wed Oct 01 14:06:17 EDT 2014
 [INFO] Final Memory: 8M/103M
 [INFO]
 
 [ERROR] Failed to execute goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project
 proton-api-reconciliation: Execution default-cli of goal
 org.codehaus.mojo:exec-maven-plugin:1.2.1:java failed: Plugin
 org.codehaus.mojo:exec-maven-plugin:1.2.1 or one of its dependencies could
 not be resolved: Failure to find
 org.apache.qpid:proton-api:jar:1.0-SNAPSHOT in
 http://snapshots.repository.codehaus.org was cached in the local
 repository, resolution will not be reattempted until the update interval of
 codehaus.org has elapsed or updates are forced - [Help 1]
 [ERROR]
 [ERROR] To see the full stack trace of the errors, re-run Maven with the
 -e switch.
 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
 [ERROR]
 [ERROR] For more information about the errors and possible solutions,
 please read the following articles:
 [ERROR] [Help 1]
 http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
 
 From this I'm assuming that I'm missing the correct proton-api.jar, but
 I'm unclear on how to build/install it. I found a pom.xml for proton-api
 version 0.6, but api-reconciliation is looking for version 1.0-SNAPSHOT.
 When I modify the api-reconciliation pom to use the 0.6 proton.api.jar, it
 crashes.
 
 Any suggestions?
 
 P.S. I should mention that I built the proton-jni jar file separately and
 copied to my build/proton-c/bindings/java directory
 
 Thanks
 -Ernie
 
 
 



Re: LTO: link-time optimization effect on proton performance

2014-10-02 Thread Andrew Stitcher
On Wed, 2014-10-01 at 21:54 -0400, Michael Goulish wrote:
 Link-time optimization can be turned on by adding the
  -flto flag to the proton library build, in both compilation
 and linking steps.  It offers the possibility of optimizations
 using deeper knowledge of the whole program than is available 
 before linking.

Now that you've got lot going you could try pgo (profile guided
optimisations) they're supposed to be good!

They do take a significant amount of work to set up though, because you
need to profile a representative workload, then optimise the code again
based on the results from that.

So the flow is more like:

1. Build with appropriate options (probably still lto)
2. Run profiling run
3. Build again with optimising input from the profile run.

 ...So!  The LTO technology really works, but it's not as
 good as manual inlining based on profiling.  In fact
 it slows that down a little, probably because it is choosing 
 some inlining candidates that don't help enough to offset
 cache thrash due to code size increase.

You could perhaps test this by using -Os -flto rather than -O2 -flto
that should attempt to keep the size of code down.

Also the gcc 4.8 versions have better heuristics for inlining than the
4.7 versions (apparently and the 4.9 versions will be better still).

Andrew




Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Bozo Dragojevic
On 2. 10. 14 17:31, Ernest Allen wrote:
 Since the api-reconciliation tool is no longer viable, are there any example 
 java apps that use the engine api?


contrib/proton-hawtdispatch is also using the engine.

Bozzo


Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Clebert Suconic

On Oct 2, 2014, at 1:01 PM, Bozo Dragojevic bo...@digiverse.si wrote:

 On 2. 10. 14 17:31, Ernest Allen wrote:
 Since the api-reconciliation tool is no longer viable, are there any example 
 java apps that use the engine api?
 
 
 contrib/proton-hawtdispatch is also using the engine.
 

True, but let me point that HornetQ's ProtonPlug doesn't have any specific 
HornetQ usage. It has some Netty buffer dependencies though as it's using a 
buffer pool in some places. 


 Bozzo



[jira] [Closed] (PROTON-709) [proton-c] Windows 64-bit transport issue

2014-10-02 Thread Chuck Rolke (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chuck Rolke closed PROTON-709.
--
   Resolution: Not a Problem
Fix Version/s: 0.8

Other system builds fine. Local machine had corrupted SVN checkout with 
dispatcher.h file where it did not belong.

Notes:
1. File was harmless until recent include file ordering changes 'woke it up'.
2. SVN seems to go out of its way to hide stray files.

 [proton-c] Windows 64-bit transport issue
 -

 Key: PROTON-709
 URL: https://issues.apache.org/jira/browse/PROTON-709
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.7
 Environment: Windows
Reporter: Chuck Rolke
 Fix For: 0.8


 Today's trunk build of qpid and proton yield bad results for 64-bit proton 
 consumers. Have not gotten to the fundamental issue yet but current analysis 
 shows:
 || ||32-bit broker||64-bit broker||
 |32-bit client| OK | broker crashes|
 |64-bit client| client crashes | broker crashes|
 In the 64-bit client, 64-bit broker case the broker fails with:
 {noformat}
 Unhandled exception at 0x7ffa83e39b2b (qpid-protond.dll) in qpidd.exe: 
   0xC005: Access violation reading location 0x0021.
 {noformat}
 dereferencing a null transport at
 {noformat}
 int pn_do_open(pn_dispatcher_t *disp)
 {
   pn_transport_t *transport = disp-transport;
   pn_connection_t *conn = transport-connection; ---
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: how can I get proton-api version 1.0-SNAPSHOT for api-reconciliation?

2014-10-02 Thread Ernest Allen
Thanks all. It's good to have options.

- Original Message -
From: Clebert Suconic csuco...@redhat.com
To: proton@qpid.apache.org
Sent: Thursday, October 2, 2014 1:38:43 PM
Subject: Re: how can I get proton-api version 1.0-SNAPSHOT for 
api-reconciliation?


On Oct 2, 2014, at 1:01 PM, Bozo Dragojevic bo...@digiverse.si wrote:

 On 2. 10. 14 17:31, Ernest Allen wrote:
 Since the api-reconciliation tool is no longer viable, are there any example 
 java apps that use the engine api?
 
 
 contrib/proton-hawtdispatch is also using the engine.
 

True, but let me point that HornetQ's ProtonPlug doesn't have any specific 
HornetQ usage. It has some Netty buffer dependencies though as it's using a 
buffer pool in some places. 


 Bozzo



strange behavior using proton-j Messenger with activemq for request/reply test

2014-10-02 Thread Martin, Jimmy
I wrote a couple of simple java apps using Messenger to demonstrate 
request/reply operation. Each app instantiates a single instance of Messenger 
to send and receive messages from the queues.

Run Reply app:
   1) subscribe to request queue and call recv() to wait for the request message
   2) on receipt of request message send reply message to destination specified 
by reply-to field of the request

Run Request app:
   1) subscribe to the reply queue
   2) send a message to the request queue
   3) call Messenger.recv() to wait for the reply

Pretty simple. And it works pretty reliably if I use a QPID broker to 
intermediate between request and reply. If I use ActiveMQ (I’ve tried 5.10 and 
5.11-SNAPSHOT) I typically see the following:

- the reply app connects to activemq and is waiting for the request message
- the request app sends the message, no exception thrown but see this message 
in the log:
  FINE: IN: CH[0] : Close{error=Error{condition=amqp:invalid-field, 
description='Broker: localhost - Client: request already connected from 
tcp://127.0.0.1:50485', info=null}}
- no request message is seen by the broker and the request app is not connected
- the request app calls Messenger.recv() which returns right away. 
Messenger.incoming() returns 0.

If I kill the reply app and and run the request app, I do see the request 
message in activemq queue.

I have used proton-j versions 0.7, 0.8 and 1.0-SNAPSHOT and all seem to exhibit 
the same behavior.

Any hints on what I’m doing wrong would be appreciated.

Thanks,
Jimmy