Re: Cannot connect to RabbitMQ 3.3.5 using qpid-client-0.30

2014-12-17 Thread Wayna Runa
Hi Nathan,

This works!

In RabbitMQ was necessary:

- to create virtual host with /, for example: /MY_VIRTUAL_HOST.
- to create a queue in above virtual host
- to  bind using a routing key with the same name of above queue

... and run Hello.java !

Regards.

- wr


JMS Destination handling for AMQP 1.0

2014-12-17 Thread Robbie Gemmell
Hi everyone (please use reply-all to keep both lists on the trail),

I would like to have a discussion around JMS destination handling in
the JMS Mapping for AMQP 1.0, in particular around how to handle JMS
Destination names via the AMQP address field of a link
(producer/consumer) source/target and the to, and reply-to field
of messages.

Apologies for the length of the mail, there is a fair bit to outline.
I moved some information for full context to the end to help a tiny
bit.

JMS defines multiple Destination types that each have their own
inherent name space, so it is possible for example to have a Queue and
a Topic with the same name (e.g foo). AMQP defines an address
field on the source/target of links (producers/consumers), and a to
and reply-to field are available on messages, to indicate the
destination node (e.g queue/topic) address. These are typically string
values, and they form a single space since as there is no additional
node type information only the address name itself.

This is is mostly an issue for non-temporary Queues and Topics since
TemporaryQueue and TemporaryTopic destinations will be given generated
addresses by the 'broker' peer through use of dynamic nodes, and so
can naturally be prevented from having the same addresses as each
other, and be made unlikely or unable to clash with non-temporary
nodes.

To handle this mapping between JMS and AMQP it would seem we must either:
1. Not support JMS Queues and Topics with the same name existing at all, OR
2. Allow multiple nodes to have the same address string but use type
metadata (via capabilities + annotations, see additional context) to
discriminate between them, OR
3. Utilise address string naming conventions (e.g prefixes) for them
to separate the types into subspaces.

The first option is an issue for implementations that already do, and
wish to continue to, allow Queues and Topics with the same name via
other protocols while also supporting AMQP, and would be a limitation
in terms of full JMS support. The second option would break reply-to
usage for any clients or intermediaries that don't understand the
message annotations and/or source+target capabilities carrying type
metadata (see additional context). The third option either requires
clients to always utilise the full address strings in
session.createQueue(queue-prefixfoo) etc calls, or providing a
means to configure the prefixes within the client so that they are
added/removed behind the scenes and the application just uses
session.createQueue(foo), but the resulting AMQP address string
would be queue-prefixfoo. The main issue with requiring clients
always use the full address as the session.createQueue(..) value would
be for bridging between different systems using different conventions,
though the values for those methods are noted as being
provider-specific.

Both the old Qpid AMQP 1.0 JMS client, and the new JMS client we are
creating that implements the JMS Mapping for AMQP being worked on,
currently do some form of the third option, providing a way to
configure a 'queue prefix' and 'topic prefix' that are used to prefix
the application provided strings in session.createQueue(..) etc for
outgoing addresses used for links and messages and be stripped from
incoming addresses on messages to give the names used for the
JMSDestination and JMSReplyTo objects. Temporary destinations are
named by the 'broker' peer and their addresses are used as provided.

The main issue with this approach is that such configuration makes it
more difficult to use the client against a number of different
brokers, which is a goal, since this configuration is likely to differ
between them meaning even the simplest HelloWorld type example may be
unable to work against them without additional configuration. Between
ActiveMQ and Qpid we currently appear to have 3 different options for
our brokers (two different prefixes being required, or it being
optional [at the cost of being unable to support Queues and Topics
with the same name]), and considering others would likely expand this.

An idea to handle this was to have the brokers use connection
properties to inform the client of the prefixes (if any) they require
it to use, allowing different brokers to supply their own specific
value (if any) to meet their requirements, and allowing clients/simple
applications to work against many of them without further
configuration change.

An alternative suggestion was to have the JMS Mapping define a set of
standard name prefixes the client would use by default, such that the
issue of Topics and Queues with the same name is addressed by the
mapping, while also allowing brokers to specify their own values via
connection properties so that their specific needs can still be met if
different (e.g they have existing naming conventions they wish/need to
retain).

There was also a suggestion that something beyond a simple prefix may
be needed, I will let the person behind those thoughts expand further
to stop 

Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Rob Godfrey
On 17 December 2014 at 13:37, Robbie Gemmell robbie.gemm...@gmail.com
wrote:

 Hi everyone (please use reply-all to keep both lists on the trail),

 I would like to have a discussion around JMS destination handling in
 the JMS Mapping for AMQP 1.0, in particular around how to handle JMS
 Destination names via the AMQP address field of a link
 (producer/consumer) source/target and the to, and reply-to field
 of messages.

 Apologies for the length of the mail, there is a fair bit to outline.
 I moved some information for full context to the end to help a tiny
 bit.

 JMS defines multiple Destination types that each have their own
 inherent name space, so it is possible for example to have a Queue and
 a Topic with the same name (e.g foo). AMQP defines an address
 field on the source/target of links (producers/consumers), and a to
 and reply-to field are available on messages, to indicate the
 destination node (e.g queue/topic) address. These are typically string
 values, and they form a single space since as there is no additional
 node type information only the address name itself.

 This is is mostly an issue for non-temporary Queues and Topics since
 TemporaryQueue and TemporaryTopic destinations will be given generated
 addresses by the 'broker' peer through use of dynamic nodes, and so
 can naturally be prevented from having the same addresses as each
 other, and be made unlikely or unable to clash with non-temporary
 nodes.

 To handle this mapping between JMS and AMQP it would seem we must either:
 1. Not support JMS Queues and Topics with the same name existing at all, OR
 2. Allow multiple nodes to have the same address string but use type
 metadata (via capabilities + annotations, see additional context) to
 discriminate between them, OR
 3. Utilise address string naming conventions (e.g prefixes) for them
 to separate the types into subspaces.


As per the OASIS TC call yesterday, I think option 3 is the only truly
viable solution here.



 The first option is an issue for implementations that already do, and
 wish to continue to, allow Queues and Topics with the same name via
 other protocols while also supporting AMQP, and would be a limitation
 in terms of full JMS support. The second option would break reply-to
 usage for any clients or intermediaries that don't understand the
 message annotations and/or source+target capabilities carrying type
 metadata (see additional context). The third option either requires
 clients to always utilise the full address strings in
 session.createQueue(queue-prefixfoo) etc calls, or providing a
 means to configure the prefixes within the client so that they are
 added/removed behind the scenes and the application just uses
 session.createQueue(foo), but the resulting AMQP address string
 would be queue-prefixfoo. The main issue with requiring clients
 always use the full address as the session.createQueue(..) value would
 be for bridging between different systems using different conventions,
 though the values for those methods are noted as being
 provider-specific.

 Both the old Qpid AMQP 1.0 JMS client, and the new JMS client we are
 creating that implements the JMS Mapping for AMQP being worked on,
 currently do some form of the third option, providing a way to
 configure a 'queue prefix' and 'topic prefix' that are used to prefix
 the application provided strings in session.createQueue(..) etc for
 outgoing addresses used for links and messages and be stripped from
 incoming addresses on messages to give the names used for the
 JMSDestination and JMSReplyTo objects. Temporary destinations are
 named by the 'broker' peer and their addresses are used as provided.

 The main issue with this approach is that such configuration makes it
 more difficult to use the client against a number of different
 brokers, which is a goal, since this configuration is likely to differ
 between them meaning even the simplest HelloWorld type example may be
 unable to work against them without additional configuration. Between
 ActiveMQ and Qpid we currently appear to have 3 different options for
 our brokers (two different prefixes being required, or it being
 optional [at the cost of being unable to support Queues and Topics
 with the same name]), and considering others would likely expand this.

 An idea to handle this was to have the brokers use connection
 properties to inform the client of the prefixes (if any) they require
 it to use, allowing different brokers to supply their own specific
 value (if any) to meet their requirements, and allowing clients/simple
 applications to work against many of them without further
 configuration change.

 An alternative suggestion was to have the JMS Mapping define a set of
 standard name prefixes the client would use by default, such that the
 issue of Topics and Queues with the same name is addressed by the
 mapping, while also allowing brokers to specify their own values via
 connection properties so that their specific needs 

Compiling qpid on aix 6.1 with xlc 13.1.0

2014-12-17 Thread Chris Whelan
Hi,

We have abandoned using gcc on aix to compile qpid and have now moved on to our 
next problem child, xlc.  Boost compiled successfully, but when we try to 
compile qpid, an argument mismatch apparently occurs.  The environment 
description and details are below.  The associated files are attached.  If 
anyone can offer any insight into what is wrong or has any suggestions on what 
we should try to resolve this, your assistance will be gratefully accepted.

Regards,

Chris Whelan

# environment
export CC=/opt/IBM/xlC/13.1.0/bin/xlc
export CXX=/opt/IBM/xlC/13.1.0/bin/xlc++
export BOOST_ROOT=/home/dbapi/enquesta_5_0/boost_1_57_0
# for xlC:
export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
# for other dependencies built locally
export PATH=/home/dbapi/enquesta_5_0/usr/local/bin:$PATH

Email attachments:
cmakeOutput.txt is the output from running cmake
makeAllOutput.txt is the output from the compile (make all)
vector.t is an IBM source file, /opt/IBM/xlC/13.1.0/include/vector.t
InlineVector.h is from qpid source, $QPID_HOME/src/qpid/InlineVector.h

The error from makeAllOutput.txt (make all command)
/opt/IBM/xlC/13.1.0/include/vector.t, line 41.55: 1540-0215 (S) The wrong numb
er of arguments has been specified for qpid::InlineAllocatorstd::allocatorqpi
d::Rangeqpid::framing::SequenceNumber ,3::allocate(size_type).
/opt/IBM/xlC/13.1.0/include/vector.t, line 37.6: 1540-0700 (I) The previous me
ssage was produced while processing std::vectorqpid::Rangeqpid::framing::Sequ
enceNumber,qpid::InlineAllocatorstd::allocatorqpid::Rangeqpid::framing::Sequ
enceNumber ,3 ::reserve(size_type).
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/src/qpid/InlineVector.h, line 50.13: 15
40-0700 (I) The previous message was produced while processing qpid::InlineVect
orqpid::Rangeqpid::framing::SequenceNumber,3,std::allocatorqpid::Rangeqpid:
:framing::SequenceNumber  ::InlineVector(const allocator_type ).
aixdev2:/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld $cmake ..
Build type is *RelWithDebInfo* (has debug symbols)
-- The C compiler identification is XL 13.1.0
-- The CXX compiler identification is XL 13.1.0
-- Check for working C compiler: /opt/IBM/xlC/13.1.0/bin/xlc
-- Check for working C compiler: /opt/IBM/xlC/13.1.0/bin/xlc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /opt/IBM/xlC/13.1.0/bin/xlc++
-- Check for working CXX compiler: /opt/IBM/xlC/13.1.0/bin/xlc++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonInterp: /usr/bin/python (found version 2.7.5)
-- Found PkgConfig: /usr/bin/pkg-config (found version 0.19)
-- Found Ruby: /usr/local/bin/ruby (found version 2.0.0)
-- Found Doxygen: /usr/local/bin/doxygen (found version 1.5.1)
-- Could NOT find VALGRIND (missing:  VALGRIND_EXECUTABLE)
-- Looking for sasl_checkpass in sasl2
-- Looking for sasl_checkpass in sasl2 - not found
-- Looking for include file sasl/sasl.h
-- Looking for include file sasl/sasl.h - not found
-- Could NOT find SASL (missing:  FOUND_SASL_LIB FOUND_SASL_H)
-- Regenerating AMQP protocol sources
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/MethodBodyConstVisitor.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/MethodBodyDefaultVisitor.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/MethodBodyDefaultVisitor.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/MethodBodyFactory.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ClientOperations.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ServerOperations.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_AllOperations.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/ClientInvoker.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/ClientInvoker.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/ServerInvoker.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/ServerInvoker.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AllInvoker.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AllInvoker.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ClientProxy.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ClientProxy.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ServerProxy.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_ServerProxy.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_AllProxy.h
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/qpid/framing/AMQP_AllProxy.cpp
Generated 
/home/dbapi/enquesta_5_0/qpid-cpp-0.30/bld/src/../include/qpid/client/no_keyword/AsyncSession_0_10.h
Generated 

Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Robbie Gemmell
On 17 December 2014 at 13:43, Rob Godfrey rob.j.godf...@gmail.com wrote:
 On 17 December 2014 at 13:37, Robbie Gemmell robbie.gemm...@gmail.com
 wrote:

 Hi everyone (please use reply-all to keep both lists on the trail),

 I would like to have a discussion around JMS destination handling in
 the JMS Mapping for AMQP 1.0, in particular around how to handle JMS
 Destination names via the AMQP address field of a link
 (producer/consumer) source/target and the to, and reply-to field
 of messages.

 Apologies for the length of the mail, there is a fair bit to outline.
 I moved some information for full context to the end to help a tiny
 bit.

 JMS defines multiple Destination types that each have their own
 inherent name space, so it is possible for example to have a Queue and
 a Topic with the same name (e.g foo). AMQP defines an address
 field on the source/target of links (producers/consumers), and a to
 and reply-to field are available on messages, to indicate the
 destination node (e.g queue/topic) address. These are typically string
 values, and they form a single space since as there is no additional
 node type information only the address name itself.

 This is is mostly an issue for non-temporary Queues and Topics since
 TemporaryQueue and TemporaryTopic destinations will be given generated
 addresses by the 'broker' peer through use of dynamic nodes, and so
 can naturally be prevented from having the same addresses as each
 other, and be made unlikely or unable to clash with non-temporary
 nodes.

 To handle this mapping between JMS and AMQP it would seem we must either:
 1. Not support JMS Queues and Topics with the same name existing at all, OR
 2. Allow multiple nodes to have the same address string but use type
 metadata (via capabilities + annotations, see additional context) to
 discriminate between them, OR
 3. Utilise address string naming conventions (e.g prefixes) for them
 to separate the types into subspaces.


 As per the OASIS TC call yesterday, I think option 3 is the only truly
 viable solution here.


In case my expansions below dont make it clear enough, so do I.



 The first option is an issue for implementations that already do, and
 wish to continue to, allow Queues and Topics with the same name via
 other protocols while also supporting AMQP, and would be a limitation
 in terms of full JMS support. The second option would break reply-to
 usage for any clients or intermediaries that don't understand the
 message annotations and/or source+target capabilities carrying type
 metadata (see additional context). The third option either requires
 clients to always utilise the full address strings in
 session.createQueue(queue-prefixfoo) etc calls, or providing a
 means to configure the prefixes within the client so that they are
 added/removed behind the scenes and the application just uses
 session.createQueue(foo), but the resulting AMQP address string
 would be queue-prefixfoo. The main issue with requiring clients
 always use the full address as the session.createQueue(..) value would
 be for bridging between different systems using different conventions,
 though the values for those methods are noted as being
 provider-specific.

 Both the old Qpid AMQP 1.0 JMS client, and the new JMS client we are
 creating that implements the JMS Mapping for AMQP being worked on,
 currently do some form of the third option, providing a way to
 configure a 'queue prefix' and 'topic prefix' that are used to prefix
 the application provided strings in session.createQueue(..) etc for
 outgoing addresses used for links and messages and be stripped from
 incoming addresses on messages to give the names used for the
 JMSDestination and JMSReplyTo objects. Temporary destinations are
 named by the 'broker' peer and their addresses are used as provided.

 The main issue with this approach is that such configuration makes it
 more difficult to use the client against a number of different
 brokers, which is a goal, since this configuration is likely to differ
 between them meaning even the simplest HelloWorld type example may be
 unable to work against them without additional configuration. Between
 ActiveMQ and Qpid we currently appear to have 3 different options for
 our brokers (two different prefixes being required, or it being
 optional [at the cost of being unable to support Queues and Topics
 with the same name]), and considering others would likely expand this.

 An idea to handle this was to have the brokers use connection
 properties to inform the client of the prefixes (if any) they require
 it to use, allowing different brokers to supply their own specific
 value (if any) to meet their requirements, and allowing clients/simple
 applications to work against many of them without further
 configuration change.

 An alternative suggestion was to have the JMS Mapping define a set of
 standard name prefixes the client would use by default, such that the
 issue of Topics and Queues with the same name 

Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Rob Godfrey
On 17 December 2014 at 15:45, Robbie Gemmell robbie.gemm...@gmail.com
wrote:

 On 17 December 2014 at 13:43, Rob Godfrey rob.j.godf...@gmail.com wrote:
  On 17 December 2014 at 13:37, Robbie Gemmell robbie.gemm...@gmail.com
  wrote:
 
  Hi everyone (please use reply-all to keep both lists on the trail),
 
  I would like to have a discussion around JMS destination handling in
  the JMS Mapping for AMQP 1.0, in particular around how to handle JMS
  Destination names via the AMQP address field of a link
  (producer/consumer) source/target and the to, and reply-to field
  of messages.
 
  Apologies for the length of the mail, there is a fair bit to outline.
  I moved some information for full context to the end to help a tiny
  bit.
 
  JMS defines multiple Destination types that each have their own
  inherent name space, so it is possible for example to have a Queue and
  a Topic with the same name (e.g foo). AMQP defines an address
  field on the source/target of links (producers/consumers), and a to
  and reply-to field are available on messages, to indicate the
  destination node (e.g queue/topic) address. These are typically string
  values, and they form a single space since as there is no additional
  node type information only the address name itself.
 
  This is is mostly an issue for non-temporary Queues and Topics since
  TemporaryQueue and TemporaryTopic destinations will be given generated
  addresses by the 'broker' peer through use of dynamic nodes, and so
  can naturally be prevented from having the same addresses as each
  other, and be made unlikely or unable to clash with non-temporary
  nodes.
 
  To handle this mapping between JMS and AMQP it would seem we must
 either:
  1. Not support JMS Queues and Topics with the same name existing at
 all, OR
  2. Allow multiple nodes to have the same address string but use type
  metadata (via capabilities + annotations, see additional context) to
  discriminate between them, OR
  3. Utilise address string naming conventions (e.g prefixes) for them
  to separate the types into subspaces.
 
 
  As per the OASIS TC call yesterday, I think option 3 is the only truly
  viable solution here.
 

 In case my expansions below dont make it clear enough, so do I.

 
 
  The first option is an issue for implementations that already do, and
  wish to continue to, allow Queues and Topics with the same name via
  other protocols while also supporting AMQP, and would be a limitation
  in terms of full JMS support. The second option would break reply-to
  usage for any clients or intermediaries that don't understand the
  message annotations and/or source+target capabilities carrying type
  metadata (see additional context). The third option either requires
  clients to always utilise the full address strings in
  session.createQueue(queue-prefixfoo) etc calls, or providing a
  means to configure the prefixes within the client so that they are
  added/removed behind the scenes and the application just uses
  session.createQueue(foo), but the resulting AMQP address string
  would be queue-prefixfoo. The main issue with requiring clients
  always use the full address as the session.createQueue(..) value would
  be for bridging between different systems using different conventions,
  though the values for those methods are noted as being
  provider-specific.
 
  Both the old Qpid AMQP 1.0 JMS client, and the new JMS client we are
  creating that implements the JMS Mapping for AMQP being worked on,
  currently do some form of the third option, providing a way to
  configure a 'queue prefix' and 'topic prefix' that are used to prefix
  the application provided strings in session.createQueue(..) etc for
  outgoing addresses used for links and messages and be stripped from
  incoming addresses on messages to give the names used for the
  JMSDestination and JMSReplyTo objects. Temporary destinations are
  named by the 'broker' peer and their addresses are used as provided.
 
  The main issue with this approach is that such configuration makes it
  more difficult to use the client against a number of different
  brokers, which is a goal, since this configuration is likely to differ
  between them meaning even the simplest HelloWorld type example may be
  unable to work against them without additional configuration. Between
  ActiveMQ and Qpid we currently appear to have 3 different options for
  our brokers (two different prefixes being required, or it being
  optional [at the cost of being unable to support Queues and Topics
  with the same name]), and considering others would likely expand this.
 
  An idea to handle this was to have the brokers use connection
  properties to inform the client of the prefixes (if any) they require
  it to use, allowing different brokers to supply their own specific
  value (if any) to meet their requirements, and allowing clients/simple
  applications to work against many of them without further
  configuration change.
 
  An alternative 

How to create a Destination to RabbitMQ custom exchange using qpid-client-0.30

2014-12-17 Thread Wayna Runa
Hi there again!

I am trying to connect to RabbitMQ queue (AMQP 0-9-1) via custom exchange
using Destination (Binding URL) without success.

I have tried several definitions of destination, here my JNDI config:

--.--
connectionfactory.myRabbitMQConnectionFactory1 = amqp://admin:xxx@clientid
/DES_DEV?brokerlist='tcp://10.105.135.53:5672'

destination.myDestination1 = direct://ex_test1/rk_test1/q_test1
destination.myDestination2 =
direct://ex_test1//q_test1?autodelete='false'durable='true'internal='false'routingkey='q_test1'
destination.myDestination3 =
direct://ex_test1//q_test1?routingkey='rk_test1'
--.--


My Java code is:

---.---.--
System.setProperty(qpid.amqp.version, 0-91);
*System.setProperty(qpid.dest_**syntax, BURL);*
...
ConnectionFactory connectionFactory = (ConnectionFactory)
context.lookup(myRabbitMQConnectionFactory1);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

TextMessage message = session.createTextMessage(Hello world - DESTINATION
BURL !!);
Destination destination = (Destination)
context.lookup(myJndiDirectDestination1); // tested with 1, 2 and
Destination3
MessageProducer messageProducerD = session.createProducer(destination);

messageProducerD.send(message);
...
---.---.---

Here, my custom exchange is ex_test1 and I have used different values for
routing keys.
I have to created previously the exchange (ex_test1) with different routing
keys, for example:

binding-a) ex_test1 ~ rk_test1 ~ q_test1
binding-b) ex_test1 ~ empty ~ q_test1
binding-c) ex_test1 ~ q_test1 ~ q_test1
binding-d) amq.direct ~ q_test1 ~ q_test1
binding-e) amq.direct ~ rk_test1 ~ q_test1

When running this code, no errors are shown, only *binding-d* and
*binding-e* work and the message is published in RabbitMQ.

They have in the header thw following:

Exchange :   amq.direct
headers: JMS_QPID_DESTTYPE:1


What is the correct definition of DESTINATION using custom exchange?

Thanks.


-- wr


Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Rob Godfrey
On 17 December 2014 at 17:25, Robbie Gemmell robbie.gemm...@gmail.com
wrote:

 On 17 December 2014 at 15:00, Rob Godfrey rob.j.godf...@gmail.com wrote:
  On 17 December 2014 at 15:45, Robbie Gemmell robbie.gemm...@gmail.com
  wrote:
 
  On 17 December 2014 at 13:43, Rob Godfrey rob.j.godf...@gmail.com
 wrote:
   On 17 December 2014 at 13:37, Robbie Gemmell 
 robbie.gemm...@gmail.com
   wrote:
  


[.. snip ..]


 
  Any more concrete thoughts/examples?
 
 
  Nothing concrete... more just wanting to avoid premature
 standardisation
  on something we later find to be inadequate for the eventual requirement.

 Ok. I'm trying to figure out if I am on the same page. Are you
 thinking of something that would simply be used to decide whether a
 given fixed/supplied prefix was used or not (e.g apply this
 fixed/given prefix if this regex matched anything in the given JMS
 'name' string), or something more complicated that might decide what
 to apply based on what matched?


It may be that it is sufficient to say prefix + exclusion pattern, e.g.
prefix with queue: unless the name begins with $ or /  -  that would
probably cover all the cases I can currently think of (global addressing
and magic $ addresses)


  Another consideration might be special addresses, like $management
 which
  the server would not want to be mangled but which we would still want to
  make easily accessible through session.createQueue().
 

 Good point.

 
  
  
  
   Thoughts?
  
  
  
   A quick thought on Destination equivalence - I'm guessing that in JMS
   terms two Destinations are equal iff they are of the same type
   (Topic/Queue/etc - derived from meta-data) and use the same *mangled*
   AMQP address?
  
   -- Rob
  
 
  If the name mangling is conducted on the way out of the client to form
  an AMQP address from the initial 'JMS name', and reversed on the way
  in to the client to give the 'JMS name' used for
  getJMSDestination/getJMSReplyTo, then I guess two Destination objects
  would be considered equal if they had the same type and same 'JMS
  Name'.
 
 
  I was thinking that we would potentially want to avoid having to have a
  reversible mangling algorithm.  IIRC you can't extract the name from a
  Destination object after it has been created.

 I dont think we can get away without reversability.

 All the concrete Destination objects JMS specifies let you retrieve
 the name, via getQueueName() or getTopicName(). Thats how you figure
 out where the message was sent or should be returned to if you use
 getJMSDestination()/getJMSReplyTo().



I forgot about getQueueName() / getTopicName() but you shouldn't be using
them for anything if you are looking for portability should you?

However I do take your point that you would potential want to have a
demangling function so that getQueueName() could be computed from the AMQP
address.



   the AMQP address is the
  real identity as far as AMQP is concerned.  Moreover there may be some
  addresses (even within systems which have distinct queue and topic
 domains)
  which exist within other domains, or which live outside the domains
  ($management for example)

 Sure, but the JMS objects wont necessarily know about the exact AMQP
 address unless we always make the application provide the full AMQP
 address or decide on a single fixed prefix that can be applied/removed
 within the destination objects themselves.


Huh?  If you have a name mangling function that turns X - f(X) (where f(X)
is the AMQP address) then createQueue( X ) can know f(X) and messages that
come from the wire are going to be aware of f(X) (the AMQP address) since
that is what they are built from.  You shouldn't need to know the JMS
name in order to test equality.  When do you think that the JMS objects
would not know (be able to calculate) the AMQP address?  The only funkiness
might be if you were bridging between two JMS over AMQP connections where
the prefix in use on the different connections was different.  In that case
I'm not sure that two addresses can ever be considered equal.


 Special addresses like $management might really live outside the
 domains, but the client is ultimately going to access them via the
 domains, e.g session.createQueue($management) from your example


I was using domain to mean a namespace within the AMQP address space.
 $management does not live within queue:* or topic:*


 earlier, which will give a JMS object that gets compared like any
 other unless the client is made specifically aware of those special
 addresses in some way.


-- Rob



 
  -- Rob
 
 
  
  
   Robbie
  
  
  
   Additional Context:
  
   We also need to transmit the destination type information during link
   (e.g producer/consumer) attachment and on sent messages to ensure we
   can support the required JMS behaviours (e.g. to indicate we are
   attaching to a particular type of node, say a queue, and for carrying
   JMSDestination and JMSReplyTo type on messages to indicate/discover
   where a message 

Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Robbie Gemmell
On 17 December 2014 at 16:46, Rob Godfrey rob.j.godf...@gmail.com wrote:
 On 17 December 2014 at 17:25, Robbie Gemmell robbie.gemm...@gmail.com
 wrote:

 On 17 December 2014 at 15:00, Rob Godfrey rob.j.godf...@gmail.com wrote:
  On 17 December 2014 at 15:45, Robbie Gemmell robbie.gemm...@gmail.com
  wrote:
 
  On 17 December 2014 at 13:43, Rob Godfrey rob.j.godf...@gmail.com
 wrote:
   On 17 December 2014 at 13:37, Robbie Gemmell 
 robbie.gemm...@gmail.com
   wrote:
  


 [.. snip ..]


 
  Any more concrete thoughts/examples?
 
 
  Nothing concrete... more just wanting to avoid premature
 standardisation
  on something we later find to be inadequate for the eventual requirement.

 Ok. I'm trying to figure out if I am on the same page. Are you
 thinking of something that would simply be used to decide whether a
 given fixed/supplied prefix was used or not (e.g apply this
 fixed/given prefix if this regex matched anything in the given JMS
 'name' string), or something more complicated that might decide what
 to apply based on what matched?


 It may be that it is sufficient to say prefix + exclusion pattern, e.g.
 prefix with queue: unless the name begins with $ or /  -  that would
 probably cover all the cases I can currently think of (global addressing
 and magic $ addresses)


  Another consideration might be special addresses, like $management
 which
  the server would not want to be mangled but which we would still want to
  make easily accessible through session.createQueue().
 

 Good point.

 
  
  
  
   Thoughts?
  
  
  
   A quick thought on Destination equivalence - I'm guessing that in JMS
   terms two Destinations are equal iff they are of the same type
   (Topic/Queue/etc - derived from meta-data) and use the same *mangled*
   AMQP address?
  
   -- Rob
  
 
  If the name mangling is conducted on the way out of the client to form
  an AMQP address from the initial 'JMS name', and reversed on the way
  in to the client to give the 'JMS name' used for
  getJMSDestination/getJMSReplyTo, then I guess two Destination objects
  would be considered equal if they had the same type and same 'JMS
  Name'.
 
 
  I was thinking that we would potentially want to avoid having to have a
  reversible mangling algorithm.  IIRC you can't extract the name from a
  Destination object after it has been created.

 I dont think we can get away without reversability.

 All the concrete Destination objects JMS specifies let you retrieve
 the name, via getQueueName() or getTopicName(). Thats how you figure
 out where the message was sent or should be returned to if you use
 getJMSDestination()/getJMSReplyTo().



 I forgot about getQueueName() / getTopicName() but you shouldn't be using
 them for anything if you are looking for portability should you?


No, and you shouldnt really use session.createQueue() either...but,
its what lots of people do.

 However I do take your point that you would potential want to have a
 demangling function so that getQueueName() could be computed from the AMQP
 address.



   the AMQP address is the
  real identity as far as AMQP is concerned.  Moreover there may be some
  addresses (even within systems which have distinct queue and topic
 domains)
  which exist within other domains, or which live outside the domains
  ($management for example)

 Sure, but the JMS objects wont necessarily know about the exact AMQP
 address unless we always make the application provide the full AMQP
 address or decide on a single fixed prefix that can be applied/removed
 within the destination objects themselves.


 Huh?  If you have a name mangling function that turns X - f(X) (where f(X)
 is the AMQP address) then createQueue( X ) can know f(X) and messages that
 come from the wire are going to be aware of f(X) (the AMQP address) since
 that is what they are built from.  You shouldn't need to know the JMS
 name in order to test equality.  When do you think that the JMS objects
 would not know (be able to calculate) the AMQP address?  The only funkiness
 might be if you were bridging between two JMS over AMQP connections where
 the prefix in use on the different connections was different.  In that case
 I'm not sure that two addresses can ever be considered equal.


That is one case I am thinking of. Destinations coming from JNDI
rather than session.createQueue() being another, when the connection
doesnt necessarily even exist, and isnt able to be referred to if it
does. We could make destinations not created via
session.createQueue(..) etc always require the full AMQP address
string be provided of course, though then you might get some weirdness
around getQueueName() behaviour between objects created via JNDI
(which might not have access to f(x) or its reversal depending on how
we define them) and those created e.g by a consumer (which would have
access) after a message arrives.

I have typically thought of 'provider specific' in the past to
distinguish between different client+broker pairs, however 

Re: How to create a Destination to RabbitMQ custom exchange using qpid-client-0.30

2014-12-17 Thread Nathan Kunkee

On 12/17/2014 10:45 AM, Wayna Runa wrote:

Hi there again!

I am trying to connect to RabbitMQ queue (AMQP 0-9-1) via custom exchange
using Destination (Binding URL) without success.

I have tried several definitions of destination, here my JNDI config:

--.--
connectionfactory.myRabbitMQConnectionFactory1 = amqp://admin:xxx@clientid
/DES_DEV?brokerlist='tcp://10.105.135.53:5672'

destination.myDestination1 = direct://ex_test1/rk_test1/q_test1
destination.myDestination2 =
direct://ex_test1//q_test1?autodelete='false'durable='true'internal='false'routingkey='q_test1'
destination.myDestination3 =
direct://ex_test1//q_test1?routingkey='rk_test1'
--.--


Hi,

If you want to send to the exchange, regardless of the bound queues, 
then don't specify a queue.


destination.myDestination1 = BURL:direct://ex_text1/rk_test1/

If you specify the queue name, somewhere along the line RabbitMQ expects 
a queue of that name to be pre-bound to the exchange or it drops the 
message with an error. So the queue name shouldn't be used for sending 
messages, however, a routing key is expected (even though this isn't 
clear from any of the Qpid, RabbitMQ, or AMQP docs). The RabbitMQ web 
management interface is really helpful as it will also show you 
connections, channels, and queue consumers.


Hope that helps,
Nathan




My Java code is:

---.---.--
System.setProperty(qpid.amqp.version, 0-91);
*System.setProperty(qpid.dest_**syntax, BURL);*
...
ConnectionFactory connectionFactory = (ConnectionFactory)
context.lookup(myRabbitMQConnectionFactory1);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

TextMessage message = session.createTextMessage(Hello world - DESTINATION
BURL !!);
Destination destination = (Destination)
context.lookup(myJndiDirectDestination1); // tested with 1, 2 and
Destination3
MessageProducer messageProducerD = session.createProducer(destination);

messageProducerD.send(message);
...
---.---.---

Here, my custom exchange is ex_test1 and I have used different values for
routing keys.
I have to created previously the exchange (ex_test1) with different routing
keys, for example:

binding-a) ex_test1 ~ rk_test1 ~ q_test1
binding-b) ex_test1 ~ empty ~ q_test1
binding-c) ex_test1 ~ q_test1 ~ q_test1
binding-d) amq.direct ~ q_test1 ~ q_test1
binding-e) amq.direct ~ rk_test1 ~ q_test1

When running this code, no errors are shown, only *binding-d* and
*binding-e* work and the message is published in RabbitMQ.

They have in the header thw following:

Exchange :   amq.direct
headers: JMS_QPID_DESTTYPE:1


What is the correct definition of DESTINATION using custom exchange?

Thanks.


-- wr





This email message is a private communication. The information transmitted, 
including attachments, is intended only for the person or entity to which it is 
addressed and may contain confidential, privileged, and/or proprietary 
material. Any review, duplication, retransmission, distribution, or other use 
of, or taking of any action in reliance upon, this information by persons or 
entities other than the intended recipient is unauthorized by the sender and is 
prohibited. If you have received this message in error, please contact the 
sender immediately by return email and delete the original message from all 
computer systems. Thank you.

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: JMS Destination handling for AMQP 1.0

2014-12-17 Thread Rob Godfrey
On 17 December 2014 at 18:37, Robbie Gemmell robbie.gemm...@gmail.com
wrote:

 On 17 December 2014 at 16:46, Rob Godfrey rob.j.godf...@gmail.com wrote:
  On 17 December 2014 at 17:25, Robbie Gemmell robbie.gemm...@gmail.com
  wrote:
 
  On 17 December 2014 at 15:00, Rob Godfrey rob.j.godf...@gmail.com
 wrote:
   On 17 December 2014 at 15:45, Robbie Gemmell 
 robbie.gemm...@gmail.com
   wrote:
  
   On 17 December 2014 at 13:43, Rob Godfrey rob.j.godf...@gmail.com
  wrote:
On 17 December 2014 at 13:37, Robbie Gemmell 
  robbie.gemm...@gmail.com
wrote:
   
 
 
  [.. snip ..]
 
 
  
   Any more concrete thoughts/examples?
  
  
   Nothing concrete... more just wanting to avoid premature
  standardisation
   on something we later find to be inadequate for the eventual
 requirement.
 
  Ok. I'm trying to figure out if I am on the same page. Are you
  thinking of something that would simply be used to decide whether a
  given fixed/supplied prefix was used or not (e.g apply this
  fixed/given prefix if this regex matched anything in the given JMS
  'name' string), or something more complicated that might decide what
  to apply based on what matched?
 
 
  It may be that it is sufficient to say prefix + exclusion pattern, e.g.
  prefix with queue: unless the name begins with $ or /  -  that would
  probably cover all the cases I can currently think of (global addressing
  and magic $ addresses)
 
 
   Another consideration might be special addresses, like $management
  which
   the server would not want to be mangled but which we would still want
 to
   make easily accessible through session.createQueue().
  
 
  Good point.
 
  
   
   
   
Thoughts?
   
   
   
A quick thought on Destination equivalence - I'm guessing that in
 JMS
terms two Destinations are equal iff they are of the same type
(Topic/Queue/etc - derived from meta-data) and use the same
 *mangled*
AMQP address?
   
-- Rob
   
  
   If the name mangling is conducted on the way out of the client to
 form
   an AMQP address from the initial 'JMS name', and reversed on the way
   in to the client to give the 'JMS name' used for
   getJMSDestination/getJMSReplyTo, then I guess two Destination objects
   would be considered equal if they had the same type and same 'JMS
   Name'.
  
  
   I was thinking that we would potentially want to avoid having to have
 a
   reversible mangling algorithm.  IIRC you can't extract the name
 from a
   Destination object after it has been created.
 
  I dont think we can get away without reversability.
 
  All the concrete Destination objects JMS specifies let you retrieve
  the name, via getQueueName() or getTopicName(). Thats how you figure
  out where the message was sent or should be returned to if you use
  getJMSDestination()/getJMSReplyTo().
 
 
 
  I forgot about getQueueName() / getTopicName() but you shouldn't be using
  them for anything if you are looking for portability should you?
 

 No, and you shouldnt really use session.createQueue() either...but,
 its what lots of people do.


Yes, and looking at the JavaDoc it seems like it is indirectly implied but
not actually defined, that

Queue q2 = session.createQueue(q1.getQueueName());

should result in q1.equals(q2) returning true.


So, can you think of any case where prefix + some sort of exclusion
(prefix) pattern would not work?  Depending on what makes a valid name in
the other systems you are aware of we could maybe even fix the black/white
list of addresses that do(n't) get prefixed.  Certainly I think we'd want
to avoid prefixing anything that began / or $ ... but we might want to try
to restrict as many characters as possible if this doesn't interfere with
existing systems which need prefixing that we know about



  However I do take your point that you would potential want to have a
  demangling function so that getQueueName() could be computed from the
 AMQP
  address.
 
 
 
the AMQP address is the
   real identity as far as AMQP is concerned.  Moreover there may be
 some
   addresses (even within systems which have distinct queue and topic
  domains)
   which exist within other domains, or which live outside the domains
   ($management for example)
 
  Sure, but the JMS objects wont necessarily know about the exact AMQP
  address unless we always make the application provide the full AMQP
  address or decide on a single fixed prefix that can be applied/removed
  within the destination objects themselves.
 
 
  Huh?  If you have a name mangling function that turns X - f(X) (where
 f(X)
  is the AMQP address) then createQueue( X ) can know f(X) and messages
 that
  come from the wire are going to be aware of f(X) (the AMQP address) since
  that is what they are built from.  You shouldn't need to know the JMS
  name in order to test equality.  When do you think that the JMS objects
  would not know (be able to calculate) the AMQP address?  The only
 funkiness
  might be if you were bridging between two JMS over 

Re: How to create a Destination to RabbitMQ custom exchange using qpid-client-0.30

2014-12-17 Thread Wayna Runa
Thanks Nathan for your information.

I tried with:

destination.myDest1 = BURL:direct://ex_test1/rk_test1/

.. but I have not get to publish message in RabbitMQ queue.

When I use the below destinations, using *amq.direct* exchange (internal
and default exchanges in rabbitmq), I can publish messages in the queue
successfully.

destination.myDest2 = BURL:direct://amq.direct//q_test1
  (publish msg w/ routingkey=q_test1)
destination.myDest3 =
BURL:direct://amq.direc/q_test1/q_test1 (publish
msg w/ routingkey=q_test1)
destination.myDest4 =
BURL:direct://amq.direc//q_test1?routingkey='rk_test1'(publish msg w/
routingkey=rk_test1)
destination.myDest5 = BURL:direct://amq.direct//?routingkey='rk_test1'
 (publish msg w/ routingkey=rk_test1)

...but i would try with this custom preconfigured exchange (ex_test1).

any idea will be welcome.

regards.


Re: How to create a Destination to RabbitMQ custom exchange using qpid-client-0.30

2014-12-17 Thread Nathan Kunkee

On 12/17/2014 01:15 PM, Wayna Runa wrote:

Thanks Nathan for your information.

I tried with:

destination.myDest1 = BURL:direct://ex_test1/rk_test1/

.. but I have not get to publish message in RabbitMQ queue.

When I use the below destinations, using *amq.direct* exchange (internal
and default exchanges in rabbitmq), I can publish messages in the queue
successfully.

destination.myDest2 = BURL:direct://amq.direct//q_test1
   (publish msg w/ routingkey=q_test1)
destination.myDest3 =
BURL:direct://amq.direc/q_test1/q_test1 (publish
msg w/ routingkey=q_test1)
destination.myDest4 =
BURL:direct://amq.direc//q_test1?routingkey='rk_test1'(publish msg w/
routingkey=rk_test1)
destination.myDest5 = BURL:direct://amq.direct//?routingkey='rk_test1'
  (publish msg w/ routingkey=rk_test1)

...but i would try with this custom preconfigured exchange (ex_test1).

any idea will be welcome.

regards.



Hi,

Setup a loop to send about 10 messages in about 10 seconds. Watch the 
RabbitMQ management page. Do you see traffic coming into the exchange? 
Any traffic out through any queues?


AMQP is rather odd in that an exchange does not hold messages. Queues 
hold messages. So, if a message arrives at an exchange but there are no 
queues bound with the matching routing key, it drops the message. For a 
direct exchange, upon receiving a message with routing key that matches 
a binding, the message is then stored in the queue.


Hope that helps,
Nathan


This email message is a private communication. The information transmitted, 
including attachments, is intended only for the person or entity to which it is 
addressed and may contain confidential, privileged, and/or proprietary 
material. Any review, duplication, retransmission, distribution, or other use 
of, or taking of any action in reliance upon, this information by persons or 
entities other than the intended recipient is unauthorized by the sender and is 
prohibited. If you have received this message in error, please contact the 
sender immediately by return email and delete the original message from all 
computer systems. Thank you.

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



Re: Compiling qpid on aix 6.1 with xlc 13.1.0

2014-12-17 Thread Chuck Rolke
Hi Chris,

In your makeAllOutput.txt file you are getting boost (1_57) warnings right off 
the bat. I've never used any boost beyond 1_53 on linux or windows but 1_53 
works on both of those platforms.

Could you try downgrading your boost to 1_53, a known good on Windows and 
Linux version?

-Chuck

- Original Message -
 From: Chris Whelan chris.whe...@systemsandsoftware.net
 To: users@qpid.apache.org
 Sent: Wednesday, December 17, 2014 9:31:35 AM
 Subject: Compiling qpid on aix 6.1 with xlc 13.1.0
 
 Hi,
 
 We have abandoned using gcc on aix to compile qpid and have now moved on to
 our next problem child, xlc.  Boost compiled successfully, but when we try
 to compile qpid, an argument mismatch apparently occurs.  The environment
 description and details are below.  The associated files are attached.  If
 anyone can offer any insight into what is wrong or has any suggestions on
 what we should try to resolve this, your assistance will be gratefully
 accepted.
 
 Regards,
 
 Chris Whelan
 
 # environment
 export CC=/opt/IBM/xlC/13.1.0/bin/xlc
 export CXX=/opt/IBM/xlC/13.1.0/bin/xlc++
 export BOOST_ROOT=/home/dbapi/enquesta_5_0/boost_1_57_0
 # for xlC:
 export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
 # for other dependencies built locally
 export PATH=/home/dbapi/enquesta_5_0/usr/local/bin:$PATH
 
 Email attachments:
 cmakeOutput.txt is the output from running cmake
 makeAllOutput.txt is the output from the compile (make all)
 vector.t is an IBM source file, /opt/IBM/xlC/13.1.0/include/vector.t
 InlineVector.h is from qpid source, $QPID_HOME/src/qpid/InlineVector.h
 
 The error from makeAllOutput.txt (make all command)
 /opt/IBM/xlC/13.1.0/include/vector.t, line 41.55: 1540-0215 (S) The wrong
 numb
 er of arguments has been specified for
 qpid::InlineAllocatorstd::allocatorqpi
 d::Rangeqpid::framing::SequenceNumber ,3::allocate(size_type).
 /opt/IBM/xlC/13.1.0/include/vector.t, line 37.6: 1540-0700 (I) The previous
 me
 ssage was produced while processing
 std::vectorqpid::Rangeqpid::framing::Sequ
 enceNumber,qpid::InlineAllocatorstd::allocatorqpid::Rangeqpid::framing::Sequ
 enceNumber ,3 ::reserve(size_type).
 /home/dbapi/enquesta_5_0/qpid-cpp-0.30/src/qpid/InlineVector.h, line 50.13:
 15
 40-0700 (I) The previous message was produced while processing
 qpid::InlineVect
 orqpid::Rangeqpid::framing::SequenceNumber,3,std::allocatorqpid::Rangeqpid:
 :framing::SequenceNumber  ::InlineVector(const allocator_type ).
 
 
 -
 To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
 For additional commands, e-mail: users-h...@qpid.apache.org

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



RE: Compiling qpid on aix 6.1 with xlc 13.1.0

2014-12-17 Thread Steve Huston
I don't think the boost warnings are pertinent in this case, and boost is tough 
to get built with xlC, so for the time being, I'd let that dog lie.

It smells like a mismatch between std::vector arguments between xlC and what 
the code expects. I'd chase that one down first. If I get done with customer 
commitments today I will check into it later.

-Steve

 -Original Message-
 From: Chuck Rolke [mailto:cro...@redhat.com]
 Sent: Wednesday, December 17, 2014 3:00 PM
 To: users@qpid.apache.org
 Subject: Re: Compiling qpid on aix 6.1 with xlc 13.1.0
 
 Hi Chris,
 
 In your makeAllOutput.txt file you are getting boost (1_57) warnings right off
 the bat. I've never used any boost beyond 1_53 on linux or windows but
 1_53 works on both of those platforms.
 
 Could you try downgrading your boost to 1_53, a known good on Windows
 and Linux version?
 
 -Chuck
 
 - Original Message -
  From: Chris Whelan chris.whe...@systemsandsoftware.net
  To: users@qpid.apache.org
  Sent: Wednesday, December 17, 2014 9:31:35 AM
  Subject: Compiling qpid on aix 6.1 with xlc 13.1.0
 
  Hi,
 
  We have abandoned using gcc on aix to compile qpid and have now moved
  on to our next problem child, xlc.  Boost compiled successfully, but
  when we try to compile qpid, an argument mismatch apparently occurs.
  The environment description and details are below.  The associated
  files are attached.  If anyone can offer any insight into what is
  wrong or has any suggestions on what we should try to resolve this,
  your assistance will be gratefully accepted.
 
  Regards,
 
  Chris Whelan
 
  # environment
  export CC=/opt/IBM/xlC/13.1.0/bin/xlc
  export CXX=/opt/IBM/xlC/13.1.0/bin/xlc++ export
  BOOST_ROOT=/home/dbapi/enquesta_5_0/boost_1_57_0
  # for xlC:
  export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
  # for other dependencies built locally export
  PATH=/home/dbapi/enquesta_5_0/usr/local/bin:$PATH
 
  Email attachments:
  cmakeOutput.txt is the output from running cmake makeAllOutput.txt is
  the output from the compile (make all) vector.t is an IBM source file,
  /opt/IBM/xlC/13.1.0/include/vector.t
  InlineVector.h is from qpid source, $QPID_HOME/src/qpid/InlineVector.h
 
  The error from makeAllOutput.txt (make all command)
  /opt/IBM/xlC/13.1.0/include/vector.t, line 41.55: 1540-0215 (S) The
  wrong numb er of arguments has been specified for
  qpid::InlineAllocatorstd::allocatorqpi
  d::Rangeqpid::framing::SequenceNumber ,3::allocate(size_type).
  /opt/IBM/xlC/13.1.0/include/vector.t, line 37.6: 1540-0700 (I) The
  previous me ssage was produced while processing
  std::vectorqpid::Rangeqpid::framing::Sequ
  enceNumber,qpid::InlineAllocatorstd::allocatorqpid::Rangeqpid::fra
  enceNumberming::Sequ
  enceNumber ,3 ::reserve(size_type).
  /home/dbapi/enquesta_5_0/qpid-cpp-0.30/src/qpid/InlineVector.h, line
 50.13:
  15
  40-0700 (I) The previous message was produced while processing
  qpid::InlineVect
 
 orqpid::Rangeqpid::framing::SequenceNumber,3,std::allocatorqpid::Ra
 ngeqpid:
  :framing::SequenceNumber  ::InlineVector(const allocator_type ).
 
 
  -
  To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For
  additional commands, e-mail: users-h...@qpid.apache.org
 
 -
 To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional
 commands, e-mail: users-h...@qpid.apache.org



RE: Compiling qpid on aix 6.1 with xlc 13.1.0

2014-12-17 Thread Chris Whelan
Thanks Steve and Chuck.  I will hold off on downgrading boost.  I don't know if 
it will help at all, but I am also trying to get approval to lease a clean AIX 
7.1 environment to try the compile in, but I am not sure what the timeline will 
be for that.

Regards,

Chris

-Original Message-
From: Steve Huston [mailto:shus...@riverace.com] 
Sent: Wednesday, December 17, 2014 3:08 PM
To: users@qpid.apache.org
Subject: RE: Compiling qpid on aix 6.1 with xlc 13.1.0

I don't think the boost warnings are pertinent in this case, and boost is tough 
to get built with xlC, so for the time being, I'd let that dog lie.

It smells like a mismatch between std::vector arguments between xlC and what 
the code expects. I'd chase that one down first. If I get done with customer 
commitments today I will check into it later.

-Steve

 -Original Message-
 From: Chuck Rolke [mailto:cro...@redhat.com]
 Sent: Wednesday, December 17, 2014 3:00 PM
 To: users@qpid.apache.org
 Subject: Re: Compiling qpid on aix 6.1 with xlc 13.1.0
 
 Hi Chris,
 
 In your makeAllOutput.txt file you are getting boost (1_57) warnings 
 right off the bat. I've never used any boost beyond 1_53 on linux or 
 windows but
 1_53 works on both of those platforms.
 
 Could you try downgrading your boost to 1_53, a known good on Windows 
 and Linux version?
 
 -Chuck
 
 - Original Message -
  From: Chris Whelan chris.whe...@systemsandsoftware.net
  To: users@qpid.apache.org
  Sent: Wednesday, December 17, 2014 9:31:35 AM
  Subject: Compiling qpid on aix 6.1 with xlc 13.1.0
 
  Hi,
 
  We have abandoned using gcc on aix to compile qpid and have now 
  moved on to our next problem child, xlc.  Boost compiled 
  successfully, but when we try to compile qpid, an argument mismatch 
  apparently occurs.
  The environment description and details are below.  The associated 
  files are attached.  If anyone can offer any insight into what is 
  wrong or has any suggestions on what we should try to resolve this, 
  your assistance will be gratefully accepted.
 
  Regards,
 
  Chris Whelan
 
  # environment
  export CC=/opt/IBM/xlC/13.1.0/bin/xlc export 
  CXX=/opt/IBM/xlC/13.1.0/bin/xlc++ export
  BOOST_ROOT=/home/dbapi/enquesta_5_0/boost_1_57_0
  # for xlC:
  export PATH=/opt/IBM/xlC/13.1.0/bin:$PATH
  # for other dependencies built locally export 
  PATH=/home/dbapi/enquesta_5_0/usr/local/bin:$PATH
 
  Email attachments:
  cmakeOutput.txt is the output from running cmake makeAllOutput.txt 
  is the output from the compile (make all) vector.t is an IBM source 
  file, /opt/IBM/xlC/13.1.0/include/vector.t
  InlineVector.h is from qpid source, 
  $QPID_HOME/src/qpid/InlineVector.h
 
  The error from makeAllOutput.txt (make all command) 
  /opt/IBM/xlC/13.1.0/include/vector.t, line 41.55: 1540-0215 (S) The 
  wrong numb er of arguments has been specified for 
  qpid::InlineAllocatorstd::allocatorqpi
  d::Rangeqpid::framing::SequenceNumber ,3::allocate(size_type).
  /opt/IBM/xlC/13.1.0/include/vector.t, line 37.6: 1540-0700 (I) The 
  previous me ssage was produced while processing 
  std::vectorqpid::Rangeqpid::framing::Sequ
  enceNumber,qpid::InlineAllocatorstd::allocatorqpid::Rangeqpid::f
  enceNumberra
  enceNumberming::Sequ
  enceNumber ,3 ::reserve(size_type).
  /home/dbapi/enquesta_5_0/qpid-cpp-0.30/src/qpid/InlineVector.h, 
  line
 50.13:
  15
  40-0700 (I) The previous message was produced while processing 
  qpid::InlineVect
 
 orqpid::Rangeqpid::framing::SequenceNumber,3,std::allocatorqpid::R
 a
 ngeqpid:
  :framing::SequenceNumber  ::InlineVector(const allocator_type ).
 
 
  
  - To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For 
  additional commands, e-mail: users-h...@qpid.apache.org
 
 -
 To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For 
 additional commands, e-mail: users-h...@qpid.apache.org

B CB  [  
X  ܚX KK[XZ[
 \ \  ][  X  ܚX P\Y
 \X K ܙ B  ܈Y][ۘ[  [X[  K[XZ[
 \ \  Z[\Y
 \X K ܙ B B

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org



How to auto-reconnect from java.net.SocketException: Connection reset

2014-12-17 Thread FerGabPereira
Hello i need to handle this exception
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.security.ssl.InputRecord.readFully(Unknown Source)
at sun.security.ssl.InputRecord.read(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at sun.security.ssl.AppInputStream.read(Unknown Source)
at java.io.InputStream.read(Unknown Source)
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.doRead(TCPTransportProvier.java:207)
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier.access$000(TCPTransportProvier.java:43)
at
org.apache.qpid.amqp_1_0.client.TCPTransportProvier$1.run(TCPTransportProvier.java:158)
at java.lang.Thread.run(Unknown Source)

and reconnect to the server. any idea? 
Thx in advance.



--
View this message in context: 
http://qpid.2158936.n2.nabble.com/How-to-auto-reconnect-from-java-net-SocketException-Connection-reset-tp7617695.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org