You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by rammohan ganapavarapu <ra...@gmail.com> on 2016/04/07 23:43:15 UTC

java broker startup properties file

Hi,

Is there any way to start qpid-java-0.28 broker using .properties file or
.xml or .yaml file instead of .json file? or what are the other ways to
pass override properties instead of JSON config file?


Thanks,
Ram

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Please also share --system-properties-file sample file.

Thanks,
Ram

On Thu, Apr 7, 2016 at 3:51 PM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Rob,
>
> thanks for the explanation, do you have a sample --system-properties-file?
> that i can take a look?
>
> Also i just tried 6.0.1 but my client/app is throwing this error, i am not
> a developer, i am ops guy and i dont want to change the existing code but
> wanted to make java qpid work. This is the error i am getting with 6.0.1v..
>
> 2016-04-07 22:32:36,726
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> to Connection : 0 Host = qphost01
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> error Unknown virtualhost '' username=null
> 2016-04-07 22:32:36,731
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> to Connection : 0 Host = qphost01
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> error Client and broker have no SASL mechanisms in common. Broker allows :
> ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
> AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> username=guest
>
>
> And here is my sasl mechanism.
>
> curl -s 0:10001/service/sasl
> {
>   "user" : "ANONYMOUS",
>   "mechanisms" : [ "ANONYMOUS" ]
>
> Same SASL with 0.28 works fine with my app but 6.0.1 is not working.
>
>
> Thanks,
> Ram
>
>
>
> On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> On 7 April 2016 at 23:16, rammohan ganapavarapu <ra...@gmail.com>
>> wrote:
>>
>> > Rob,
>> >
>> > Does v6.0.1 support Anonymous or no authentication? last time when i
>> try to
>> > use .32 it was not working with Anonymous.
>> >
>>
>> Yes, Anonymous is supported.  Which AMQP protocol are you using (0-9-1,
>> 0-10, or 1.0)... I would expect that Anonymous should work on 0.32 however
>> I think in 0.32 the "no authentication layer at all" option for AMQP 1.0
>> probably didn't work (this is different to an authentication layer which
>> allows anonymous).
>>
>>
>> >
>> > Sorry i was not clear in my previous email, i was taking about
>> properties
>> > file not broker storage format, the use case is if i wanted to override
>> > some of these properties and i have my own custom tool/script  that goes
>> > through the properties files and replace with the override i defined,
>> so i
>> > want to use the same tool/script for qpid config as well. My tool only
>> > support key:value but if we have json array it wont work. So if i want
>> to
>> > pass overrides as "-prop"  command line arguments what are the
>> properties
>> > that java qpid support as command line?
>> >
>> > Below if my config, is it possible to pass all these as command line
>> > arguments?
>> >
>> > {
>> >   "authenticationproviders" : [ {
>> >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> >     "name" : "Anonymous",
>> >     "type" : "Anonymous"
>> >   } ],
>> >   "defaultVirtualHost" : "default",
>> >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>> >   "modelVersion" : "1.3",
>> >   "name" : "Broker",
>> >   "plugins" : [ {
>> >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> >     "name" : "httpManagement",
>> >     "pluginType" : "MANAGEMENT-HTTP"
>> >   }, {
>> >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> >     "name" : "jmxManagement",
>> >     "pluginType" : "MANAGEMENT-JMX"
>> >   } ],
>> >   "ports" : [ {
>> >     "authenticationProvider" : "Anonymous",
>> >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>> >     "name" : "JMX_CONNECTOR",
>> >     "port" : "9099",
>> >     "protocols" : [ "JMX_RMI" ]
>> >   }, {
>> >     "authenticationProvider" : "Anonymous",
>> >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>> >     "name" : "RMI_REGISTRY",
>> >     "port" : "8999",
>> >     "protocols" : [ "RMI" ]
>> >   }, {
>> >     "authenticationProvider" : "Anonymous",
>> >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>> >     "name" : "AMQP",
>> >     "port" : "5672"
>> >   }, {
>> >     "authenticationProvider" : "Anonymous",
>> >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> >     "name" : "HTTP",
>> >     "port" : "10001",
>> >     "protocols" : [ "HTTP" ]
>> >   } ],
>> >   "storeVersion" : 1,
>> >   "virtualhosts" : [ {
>> >     "createdTime" : 1439482250329,
>> >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> >     "name" : "default",
>> >     "storePath" : "/ebs//derbystore/default",
>> >     "storeType" : "DERBY",
>> >     "type" : "STANDARD"
>> >   } ]
>> > }
>> >
>> >
>> >
>> In 6.0 you can replace any value in the JSON with a reference to a
>> property, for example
>>
>> "name" : "${myPortName}",
>>
>> this will then interpolate the value from the property, so if you set the
>> property myPortName to "RobsPort" that will be the value used.  Type
>> conversions will be performed, so if the required value is an integer it
>> will convert to an integer.  If the value required is a list then you can
>> use a String representation of a list in Json format.
>>
>> You can set the properties individually, or you can pass in a properties
>> file using -props or --system-properties-file (so if you have a properties
>> file already maybe you can just pass this in).
>>
>>
>> > One more question or may be clarification is,
>> >
>> >
>> > *-sp (--store-path) is the path of config file that will generated by
>> qpidd
>> > from the initial config right? what is the use of store-path?*
>> >
>> >
>> That is correct.  Some people just like to have config files in a
>> non-default location :-)
>>
>> Hope this helps,
>> Rob
>>
>>
>> > *Thanks,*
>> >
>> > *Ram*
>> >
>> > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1
>> if
>> > > you can.
>> > >
>> > > Secondly I'm not sure I understand your question - are you asking
>> about
>> > > overriding particular properties, or the storage format for the broker
>> > > configuration - these are two different things.  In terms of
>> properties /
>> > > context overrides this can be specified using a properties file (at
>> least
>> > > in v6 - I forget exactly how it worked on 0.28).  In terms of the
>> > > configuration, JSON is currently the only text based format supported.
>> > You
>> > > can use a database for the broker config storage, there are built in
>> > > mechanisms to support Derby, BDB, and generic JDBC config stores.
>> > >
>> > > May I ask what advantage you would get by using YAML or properties
>> files
>> > > instead of JSON?
>> > >
>> > > -- Rob
>> > >
>> > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
>> rammohanganap@gmail.com
>> > >
>> > > wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > > Is there any way to start qpid-java-0.28 broker using .properties
>> file
>> > or
>> > > > .xml or .yaml file instead of .json file? or what are the other
>> ways to
>> > > > pass override properties instead of JSON config file?
>> > > >
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

One more question, how do i define below global property in properties
file? or i just use same property for all

{
  "authenticationproviders" : [ {
    "name" : "Anonymous",
    "type" : "Anonymous"
  } ],




On Fri, Apr 8, 2016 at 10:52 AM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Rob,
>
> Thank you, this is very helpful.
>
> Thanks,
> Ram
>
> On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> so one approach to this would be to define you authentication providers up
>> from in your config file, so you have an an Anonymous provider named
>> "anonymous" and a password file provider named "passwordFile" or
>> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
>> parameterise the value they have for the name of the auth provider they
>> are
>> using.  So your initial JSON config file could contain something like:
>>
>> "ports" : [  {
>>   "name" : "AMQP",
>>   "port" : "${qpid.amqp_port}",
>>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>>
>>
>> and then you could override which provider to use at runtime by setting
>> the
>> property qpid.amqp_port_authenticationProvider to anonymous or
>> passwordFile
>> (or the name of any other authentication provider that is defined in your
>> JSON config.
>>
>> The only thing you can't do with properties is to add new entities into
>> the
>> config - that you have to do either by editing the file, or by using the
>> REST api to modify the broker configuration while it is running.
>>
>> Hope this helps,
>> Rob
>>
>> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
>> wrote:
>>
>> > Rob,
>> >
>> > Thanks for detailed explanation, i wanted to restart with the changed
>> > properties if any for example today i have Anonymous SASL and later i
>> may
>> > want to use password file. How do i pass SASL mechanism as -prop?
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > The initial config file is only used when there is no broker config -
>> the
>> > > idea is that it is used to populate the broker config on first
>> startup.
>> > > Once there is a broker config file then this is used (since it may
>> have
>> > > been updated by creating or modifying entities through the management
>> > > functions).  The broker ships with a default initial config which is
>> > > contained within its jar files, however we allow people to provide
>> there
>> > > own.  Records in the config file a copied verbatim into the config
>> store
>> > -
>> > > the only difference being that ids are generated for each entity.  The
>> > > interpolation from property names to values is done each time the
>> broker
>> > > reads the config.  If the broker finds there is config in the store
>> path
>> > > then it completely ignores the initial config - it does not examine
>> any
>> > > differences.
>> > >
>> > > Are you looking to start a completely fresh broker each time, or
>> merely
>> > to
>> > > be able to change certain properties (such as port numbers) on each
>> > > restart?  If you do not want to retain any changes to the broker
>> > > configuration made while the broker is actually running, then you
>> could
>> > use
>> > > a "memory" config store rather than a Json one.  If you want to retain
>> > any
>> > > changes made through management, but desire the ability to change
>> certain
>> > > properties (like ports) on each startup, then you don't need to worry
>> > about
>> > > the fact that the initial configuration is only loaded the first time
>> -
>> > you
>> > > just need to pass in the property values you want on startup.
>> > >
>> > > In terms of an example system properties file...  The default
>> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
>> the
>> > > http port to run on ${qpid.http_port}, so if I create a properties
>> file
>> > > called rob.properties which contains
>> > >
>> > > qpid.http_port=8888
>> > > qpid.amqp_port=5555
>> > >
>> > > and then run qpid with the argument -props rob.properties then I
>> get...
>> > >
>> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>> > > [Broker] MNG-1001 : Web Management Startup
>> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
>> > >
>> > >
>> > > So, when you use your initial or stored config you just need to ensure
>> > all
>> > > the variables you use in your config are set in your properties file
>> > (some
>> > > properties have defaults within the code if they are not otherwise
>> set -
>> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
>> > >
>> > > Hope this helps,
>> > > Rob
>> > >
>> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> rammohanganap@gmail.com
>> > >
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > Thank you, one more question on -icp and -sp, so what if i have
>> updated
>> > > icp
>> > > > with some property change  and restarted broker with icp (every
>> time i
>> > > > restart broker i am using initial config
>> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right way
>> or
>> > > > not), does it automatically update config file in -sp? i my case it
>> did
>> > > not
>> > > > updated the config file in store-path upon restart. What will
>> happened
>> > > if i
>> > > > have differences in initial config file that i use to start broker
>> and
>> > > the
>> > > > config file under store-path?
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > This looks like a client error to me... the line which says:
>> > > > >
>> > > > >  Client restricted itself to : PLAIN
>> > > > >
>> > > > > Out of interest what happens if you remove the
>> > &sasl_mechs='ANONYMOUS'
>> > > > from
>> > > > > your connection URL?  Without any sort of restriction I'd expect
>> the
>> > > > client
>> > > > > to do the right thing.
>> > > > >
>> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
>> look
>> > in
>> > > > the
>> > > > > morning.
>> > > > >
>> > > > > -- Rob
>> > > > >
>> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>> > > rammohanganap@gmail.com
>> > > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Rob,
>> > > > > >
>> > > > > > thanks for the explanation, do you have a sample
>> > > > > --system-properties-file?
>> > > > > > that i can take a look?
>> > > > > >
>> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
>> error, i
>> > > am
>> > > > > not
>> > > > > > a developer, i am ops guy and i dont want to change the existing
>> > code
>> > > > but
>> > > > > > wanted to make java qpid work. This is the error i am getting
>> with
>> > > > > 6.0.1v..
>> > > > > >
>> > > > > > 2016-04-07 22:32:36,726
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Unknown virtualhost '' username=null
>> > > > > > 2016-04-07 22:32:36,731
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Client and broker have no SASL mechanisms in common.
>> Broker
>> > > > allows
>> > > > > :
>> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
>> > CRAM-MD5,
>> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
>> > > > > > username=guest
>> > > > > >
>> > > > > >
>> > > > > > And here is my sasl mechanism.
>> > > > > >
>> > > > > > curl -s 0:10001/service/sasl
>> > > > > > {
>> > > > > >   "user" : "ANONYMOUS",
>> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > > >
>> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
>> > working.
>> > > > > >
>> > > > > >
>> > > > > > Thanks,
>> > > > > > Ram
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > rob.j.godfrey@gmail.com
>> > > >
>> > > > > > wrote:
>> > > > > >
>> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>> > > > > rammohanganap@gmail.com
>> > > > > > >
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Rob,
>> > > > > > > >
>> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
>> time
>> > > when
>> > > > i
>> > > > > > try
>> > > > > > > to
>> > > > > > > > use .32 it was not working with Anonymous.
>> > > > > > > >
>> > > > > > >
>> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
>> using
>> > > > (0-9-1,
>> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
>> > 0.32
>> > > > > > however
>> > > > > > > I think in 0.32 the "no authentication layer at all" option
>> for
>> > > AMQP
>> > > > > 1.0
>> > > > > > > probably didn't work (this is different to an authentication
>> > layer
>> > > > > which
>> > > > > > > allows anonymous).
>> > > > > > >
>> > > > > > >
>> > > > > > > >
>> > > > > > > > Sorry i was not clear in my previous email, i was taking
>> about
>> > > > > > properties
>> > > > > > > > file not broker storage format, the use case is if i wanted
>> to
>> > > > > override
>> > > > > > > > some of these properties and i have my own custom
>> tool/script
>> > > that
>> > > > > > goes
>> > > > > > > > through the properties files and replace with the override i
>> > > > defined,
>> > > > > > so
>> > > > > > > i
>> > > > > > > > want to use the same tool/script for qpid config as well. My
>> > tool
>> > > > > only
>> > > > > > > > support key:value but if we have json array it wont work. So
>> > if i
>> > > > > want
>> > > > > > to
>> > > > > > > > pass overrides as "-prop"  command line arguments what are
>> the
>> > > > > > properties
>> > > > > > > > that java qpid support as command line?
>> > > > > > > >
>> > > > > > > > Below if my config, is it possible to pass all these as
>> command
>> > > > line
>> > > > > > > > arguments?
>> > > > > > > >
>> > > > > > > > {
>> > > > > > > >   "authenticationproviders" : [ {
>> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> > > > > > > >     "name" : "Anonymous",
>> > > > > > > >     "type" : "Anonymous"
>> > > > > > > >   } ],
>> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>> > > > > > > >   "modelVersion" : "1.3",
>> > > > > > > >   "name" : "Broker",
>> > > > > > > >   "plugins" : [ {
>> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> > > > > > > >     "name" : "httpManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > > > > >   }, {
>> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> > > > > > > >     "name" : "jmxManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > > > > >   } ],
>> > > > > > > >   "ports" : [ {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > > > > >     "port" : "9099",
>> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > > > > >     "port" : "8999",
>> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>> > > > > > > >     "name" : "AMQP",
>> > > > > > > >     "port" : "5672"
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> > > > > > > >     "name" : "HTTP",
>> > > > > > > >     "port" : "10001",
>> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > > > > >   } ],
>> > > > > > > >   "storeVersion" : 1,
>> > > > > > > >   "virtualhosts" : [ {
>> > > > > > > >     "createdTime" : 1439482250329,
>> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> > > > > > > >     "name" : "default",
>> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>> > > > > > > >     "storeType" : "DERBY",
>> > > > > > > >     "type" : "STANDARD"
>> > > > > > > >   } ]
>> > > > > > > > }
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > In 6.0 you can replace any value in the JSON with a reference
>> to
>> > a
>> > > > > > > property, for example
>> > > > > > >
>> > > > > > > "name" : "${myPortName}",
>> > > > > > >
>> > > > > > > this will then interpolate the value from the property, so if
>> you
>> > > set
>> > > > > the
>> > > > > > > property myPortName to "RobsPort" that will be the value used.
>> > > Type
>> > > > > > > conversions will be performed, so if the required value is an
>> > > integer
>> > > > > it
>> > > > > > > will convert to an integer.  If the value required is a list
>> then
>> > > you
>> > > > > can
>> > > > > > > use a String representation of a list in Json format.
>> > > > > > >
>> > > > > > > You can set the properties individually, or you can pass in a
>> > > > > properties
>> > > > > > > file using -props or --system-properties-file (so if you have
>> a
>> > > > > > properties
>> > > > > > > file already maybe you can just pass this in).
>> > > > > > >
>> > > > > > >
>> > > > > > > > One more question or may be clarification is,
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > *-sp (--store-path) is the path of config file that will
>> > > generated
>> > > > by
>> > > > > > > qpidd
>> > > > > > > > from the initial config right? what is the use of
>> store-path?*
>> > > > > > > >
>> > > > > > > >
>> > > > > > > That is correct.  Some people just like to have config files
>> in a
>> > > > > > > non-default location :-)
>> > > > > > >
>> > > > > > > Hope this helps,
>> > > > > > > Rob
>> > > > > > >
>> > > > > > >
>> > > > > > > > *Thanks,*
>> > > > > > > >
>> > > > > > > > *Ram*
>> > > > > > > >
>> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>> > > > rob.j.godfrey@gmail.com
>> > > > > >
>> > > > > > > > wrote:
>> > > > > > > >
>> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
>> updating
>> > to
>> > > > > v6.0.1
>> > > > > > > if
>> > > > > > > > > you can.
>> > > > > > > > >
>> > > > > > > > > Secondly I'm not sure I understand your question - are you
>> > > asking
>> > > > > > about
>> > > > > > > > > overriding particular properties, or the storage format
>> for
>> > the
>> > > > > > broker
>> > > > > > > > > configuration - these are two different things.  In terms
>> of
>> > > > > > > properties /
>> > > > > > > > > context overrides this can be specified using a properties
>> > file
>> > > > (at
>> > > > > > > least
>> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
>> terms of
>> > > the
>> > > > > > > > > configuration, JSON is currently the only text based
>> format
>> > > > > > supported.
>> > > > > > > > You
>> > > > > > > > > can use a database for the broker config storage, there
>> are
>> > > built
>> > > > > in
>> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
>> > > stores.
>> > > > > > > > >
>> > > > > > > > > May I ask what advantage you would get by using YAML or
>> > > > properties
>> > > > > > > files
>> > > > > > > > > instead of JSON?
>> > > > > > > > >
>> > > > > > > > > -- Rob
>> > > > > > > > >
>> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
>> > > > > > > rammohanganap@gmail.com
>> > > > > > > > >
>> > > > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > > > Hi,
>> > > > > > > > > >
>> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
>> > > > .properties
>> > > > > > > file
>> > > > > > > > or
>> > > > > > > > > > .xml or .yaml file instead of .json file? or what are
>> the
>> > > other
>> > > > > > ways
>> > > > > > > to
>> > > > > > > > > > pass override properties instead of JSON config file?
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > Thanks,
>> > > > > > > > > > Ram
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Thank you, this is very helpful.

Thanks,
Ram

On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> so one approach to this would be to define you authentication providers up
> from in your config file, so you have an an Anonymous provider named
> "anonymous" and a password file provider named "passwordFile" or
> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> parameterise the value they have for the name of the auth provider they are
> using.  So your initial JSON config file could contain something like:
>
> "ports" : [  {
>   "name" : "AMQP",
>   "port" : "${qpid.amqp_port}",
>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>
>
> and then you could override which provider to use at runtime by setting the
> property qpid.amqp_port_authenticationProvider to anonymous or passwordFile
> (or the name of any other authentication provider that is defined in your
> JSON config.
>
> The only thing you can't do with properties is to add new entities into the
> config - that you have to do either by editing the file, or by using the
> REST api to modify the broker configuration while it is running.
>
> Hope this helps,
> Rob
>
> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Thanks for detailed explanation, i wanted to restart with the changed
> > properties if any for example today i have Anonymous SASL and later i may
> > want to use password file. How do i pass SASL mechanism as -prop?
> >
> > Thanks,
> > Ram
> >
> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Hi Ram,
> > >
> > > The initial config file is only used when there is no broker config -
> the
> > > idea is that it is used to populate the broker config on first startup.
> > > Once there is a broker config file then this is used (since it may have
> > > been updated by creating or modifying entities through the management
> > > functions).  The broker ships with a default initial config which is
> > > contained within its jar files, however we allow people to provide
> there
> > > own.  Records in the config file a copied verbatim into the config
> store
> > -
> > > the only difference being that ids are generated for each entity.  The
> > > interpolation from property names to values is done each time the
> broker
> > > reads the config.  If the broker finds there is config in the store
> path
> > > then it completely ignores the initial config - it does not examine any
> > > differences.
> > >
> > > Are you looking to start a completely fresh broker each time, or merely
> > to
> > > be able to change certain properties (such as port numbers) on each
> > > restart?  If you do not want to retain any changes to the broker
> > > configuration made while the broker is actually running, then you could
> > use
> > > a "memory" config store rather than a Json one.  If you want to retain
> > any
> > > changes made through management, but desire the ability to change
> certain
> > > properties (like ports) on each startup, then you don't need to worry
> > about
> > > the fact that the initial configuration is only loaded the first time -
> > you
> > > just need to pass in the property values you want on startup.
> > >
> > > In terms of an example system properties file...  The default
> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
> the
> > > http port to run on ${qpid.http_port}, so if I create a properties file
> > > called rob.properties which contains
> > >
> > > qpid.http_port=8888
> > > qpid.amqp_port=5555
> > >
> > > and then run qpid with the argument -props rob.properties then I get...
> > >
> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > [Broker] MNG-1001 : Web Management Startup
> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> > >
> > >
> > > So, when you use your initial or stored config you just need to ensure
> > all
> > > the variables you use in your config are set in your properties file
> > (some
> > > properties have defaults within the code if they are not otherwise set
> -
> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
> > >
> > > Hope this helps,
> > > Rob
> > >
> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > Thank you, one more question on -icp and -sp, so what if i have
> updated
> > > icp
> > > > with some property change  and restarted broker with icp (every time
> i
> > > > restart broker i am using initial config
> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right way
> or
> > > > not), does it automatically update config file in -sp? i my case it
> did
> > > not
> > > > updated the config file in store-path upon restart. What will
> happened
> > > if i
> > > > have differences in initial config file that i use to start broker
> and
> > > the
> > > > config file under store-path?
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > > wrote:
> > > >
> > > > > This looks like a client error to me... the line which says:
> > > > >
> > > > >  Client restricted itself to : PLAIN
> > > > >
> > > > > Out of interest what happens if you remove the
> > &sasl_mechs='ANONYMOUS'
> > > > from
> > > > > your connection URL?  Without any sort of restriction I'd expect
> the
> > > > client
> > > > > to do the right thing.
> > > > >
> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper look
> > in
> > > > the
> > > > > morning.
> > > > >
> > > > > -- Rob
> > > > >
> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Rob,
> > > > > >
> > > > > > thanks for the explanation, do you have a sample
> > > > > --system-properties-file?
> > > > > > that i can take a look?
> > > > > >
> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> error, i
> > > am
> > > > > not
> > > > > > a developer, i am ops guy and i dont want to change the existing
> > code
> > > > but
> > > > > > wanted to make java qpid work. This is the error i am getting
> with
> > > > > 6.0.1v..
> > > > > >
> > > > > > 2016-04-07 22:32:36,726
> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > > connecting
> > > > > > to Connection : 0 Host = qphost01
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > error Unknown virtualhost '' username=null
> > > > > > 2016-04-07 22:32:36,731
> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > > connecting
> > > > > > to Connection : 0 Host = qphost01
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > error Client and broker have no SASL mechanisms in common. Broker
> > > > allows
> > > > > :
> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> > CRAM-MD5,
> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > > > > > username=guest
> > > > > >
> > > > > >
> > > > > > And here is my sasl mechanism.
> > > > > >
> > > > > > curl -s 0:10001/service/sasl
> > > > > > {
> > > > > >   "user" : "ANONYMOUS",
> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > > >
> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> > working.
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Ram
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > rob.j.godfrey@gmail.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > > rammohanganap@gmail.com
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Rob,
> > > > > > > >
> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last time
> > > when
> > > > i
> > > > > > try
> > > > > > > to
> > > > > > > > use .32 it was not working with Anonymous.
> > > > > > > >
> > > > > > >
> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you using
> > > > (0-9-1,
> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
> > 0.32
> > > > > > however
> > > > > > > I think in 0.32 the "no authentication layer at all" option for
> > > AMQP
> > > > > 1.0
> > > > > > > probably didn't work (this is different to an authentication
> > layer
> > > > > which
> > > > > > > allows anonymous).
> > > > > > >
> > > > > > >
> > > > > > > >
> > > > > > > > Sorry i was not clear in my previous email, i was taking
> about
> > > > > > properties
> > > > > > > > file not broker storage format, the use case is if i wanted
> to
> > > > > override
> > > > > > > > some of these properties and i have my own custom tool/script
> > > that
> > > > > > goes
> > > > > > > > through the properties files and replace with the override i
> > > > defined,
> > > > > > so
> > > > > > > i
> > > > > > > > want to use the same tool/script for qpid config as well. My
> > tool
> > > > > only
> > > > > > > > support key:value but if we have json array it wont work. So
> > if i
> > > > > want
> > > > > > to
> > > > > > > > pass overrides as "-prop"  command line arguments what are
> the
> > > > > > properties
> > > > > > > > that java qpid support as command line?
> > > > > > > >
> > > > > > > > Below if my config, is it possible to pass all these as
> command
> > > > line
> > > > > > > > arguments?
> > > > > > > >
> > > > > > > > {
> > > > > > > >   "authenticationproviders" : [ {
> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > > > >     "name" : "Anonymous",
> > > > > > > >     "type" : "Anonymous"
> > > > > > > >   } ],
> > > > > > > >   "defaultVirtualHost" : "default",
> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > > > >   "modelVersion" : "1.3",
> > > > > > > >   "name" : "Broker",
> > > > > > > >   "plugins" : [ {
> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > > > >     "name" : "httpManagement",
> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > > > >   }, {
> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > > > >     "name" : "jmxManagement",
> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > > > >   } ],
> > > > > > > >   "ports" : [ {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > > > > >     "port" : "9099",
> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > > > > >     "port" : "8999",
> > > > > > > >     "protocols" : [ "RMI" ]
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > > > >     "name" : "AMQP",
> > > > > > > >     "port" : "5672"
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > > > >     "name" : "HTTP",
> > > > > > > >     "port" : "10001",
> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > > > > >   } ],
> > > > > > > >   "storeVersion" : 1,
> > > > > > > >   "virtualhosts" : [ {
> > > > > > > >     "createdTime" : 1439482250329,
> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > > > >     "name" : "default",
> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > > > >     "storeType" : "DERBY",
> > > > > > > >     "type" : "STANDARD"
> > > > > > > >   } ]
> > > > > > > > }
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > In 6.0 you can replace any value in the JSON with a reference
> to
> > a
> > > > > > > property, for example
> > > > > > >
> > > > > > > "name" : "${myPortName}",
> > > > > > >
> > > > > > > this will then interpolate the value from the property, so if
> you
> > > set
> > > > > the
> > > > > > > property myPortName to "RobsPort" that will be the value used.
> > > Type
> > > > > > > conversions will be performed, so if the required value is an
> > > integer
> > > > > it
> > > > > > > will convert to an integer.  If the value required is a list
> then
> > > you
> > > > > can
> > > > > > > use a String representation of a list in Json format.
> > > > > > >
> > > > > > > You can set the properties individually, or you can pass in a
> > > > > properties
> > > > > > > file using -props or --system-properties-file (so if you have a
> > > > > > properties
> > > > > > > file already maybe you can just pass this in).
> > > > > > >
> > > > > > >
> > > > > > > > One more question or may be clarification is,
> > > > > > > >
> > > > > > > >
> > > > > > > > *-sp (--store-path) is the path of config file that will
> > > generated
> > > > by
> > > > > > > qpidd
> > > > > > > > from the initial config right? what is the use of
> store-path?*
> > > > > > > >
> > > > > > > >
> > > > > > > That is correct.  Some people just like to have config files
> in a
> > > > > > > non-default location :-)
> > > > > > >
> > > > > > > Hope this helps,
> > > > > > > Rob
> > > > > > >
> > > > > > >
> > > > > > > > *Thanks,*
> > > > > > > >
> > > > > > > > *Ram*
> > > > > > > >
> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > > rob.j.godfrey@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend updating
> > to
> > > > > v6.0.1
> > > > > > > if
> > > > > > > > > you can.
> > > > > > > > >
> > > > > > > > > Secondly I'm not sure I understand your question - are you
> > > asking
> > > > > > about
> > > > > > > > > overriding particular properties, or the storage format for
> > the
> > > > > > broker
> > > > > > > > > configuration - these are two different things.  In terms
> of
> > > > > > > properties /
> > > > > > > > > context overrides this can be specified using a properties
> > file
> > > > (at
> > > > > > > least
> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In terms
> of
> > > the
> > > > > > > > > configuration, JSON is currently the only text based format
> > > > > > supported.
> > > > > > > > You
> > > > > > > > > can use a database for the broker config storage, there are
> > > built
> > > > > in
> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
> > > stores.
> > > > > > > > >
> > > > > > > > > May I ask what advantage you would get by using YAML or
> > > > properties
> > > > > > > files
> > > > > > > > > instead of JSON?
> > > > > > > > >
> > > > > > > > > -- Rob
> > > > > > > > >
> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > > > > rammohanganap@gmail.com
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi,
> > > > > > > > > >
> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
> > > > .properties
> > > > > > > file
> > > > > > > > or
> > > > > > > > > > .xml or .yaml file instead of .json file? or what are the
> > > other
> > > > > > ways
> > > > > > > to
> > > > > > > > > > pass override properties instead of JSON config file?
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Thanks,
> > > > > > > > > > Ram
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Thank you, I will try and let you know how it goes.

Ram
On Apr 10, 2016 3:12 PM, "Rob Godfrey" <ro...@gmail.com> wrote:

> Hi Ram,
>
> in 6.0.x the log file location can be changed directly through the config
> json - I really think we should first concentrate on getting that working
> for you.
>
> I've verified that using the 6.0.x client and broker with a URL similar to
> the one in your log file works for ANONYMOUS.
>
> Looking at your error output again I notice that there seem actually to be
> two connection attempts, the first ends with:
>
> error Unknown virtualhost '' username=null
>
> Then we see the second failure with the "PLAIN" error.  That first error
> indicate that ANONYMOUS log in was actually successful, however you were
> the running into the fact that no virtualhost is mapped to the empty
> string.  That suggests to me that you don't have any virtualhostaliases
> defined in your (AMQP) port config. I'd suggest that it would make sense to
> craft an initial config based on the default initial config for 6.0.x which
> will include a virtualhostaliases section in the AMQP port which looks
> like:
>
> "virtualhostaliases" : [ {
>    "name" : "nameAlias",
>    "type" : "nameAlias"
> }, {
>     "name" : "defaultAlias",
>     "type" : "defaultAlias"
> }, {
>     "name" : "hostnameAlias",
>     "type" : "hostnameAlias"
> } ]
>
>
> Let me know if this works for you, then we can look at some of your other
> questions.
>
> -- Rob
>
>
> On 9 April 2016 at 00:31, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Also how do i pass logfile location as -prop as commandline argument? or
> > how do i change default log file location i know we can update log4j.xml
> > but is there any other way?
> >
> > Ram
> >
> > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > rammohanganap@gmail.com> wrote:
> >
> > > Rob,
> > >
> > > I tried passing properties file as argument but it didnt like it. Does
> it
> > > support in 0.28v?
> > >
> > >
> > > ./qpid-server -icp ../etc/initial_config.json -prop
> > ../etc/qpidd.properties
> > >
> > > System Properties set to -Damqj.logging.level=info
> > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > Using QPID_CLASSPATH
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> -XX:+UseConcMarkSweepGC
> > > -XX:+HeapDumpOnOutOfMemoryError
> > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > Exception during startup: java.lang.IllegalArgumentException:
> > > Configuration property argument is not of the format name=value:
> > > ../etc/qpidd.properties
> > > java.lang.IllegalArgumentException: Configuration property argument is
> > not
> > > of the format name=value: ../etc/qpidd.properties
> > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > >
> > >
> > > ./qpid-server -icp ../etc/initial_config.json -props
> > > ../etc/qpidd.properties
> > >
> > > System Properties set to -Damqj.logging.level=info
> > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > Using QPID_CLASSPATH
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> -XX:+UseConcMarkSweepGC
> > > -XX:+HeapDumpOnOutOfMemoryError
> > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > >
> > >
> > >
> > >
> > > *Error: Unrecognized option: -props*
> > > How do i change this block from initial configuration to use Anonymous?
> > >
> > > {
> > >   "name": "Broker",
> > >   "storeVersion": 1,
> > >   "modelVersion": "1.2",
> > >   "defaultVirtualHost" : "default",
> > >   "authenticationproviders" : [ {
> > >     "name" : "passwordFile",
> > >     "type" : "PlainPasswordFile",
> > >     "path" : "${qpid.home_dir}/etc/passwd",
> > >     "preferencesproviders" : [{
> > >         "name": "fileSystemPreferences",
> > >         "type": "FileSystemPreferences",
> > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > >     }]
> > >   } ],
> > >
> > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > >> Hi Ram,
> > >>
> > >> so one approach to this would be to define you authentication
> providers
> > up
> > >> from in your config file, so you have an an Anonymous provider named
> > >> "anonymous" and a password file provider named "passwordFile" or
> > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> > >> parameterise the value they have for the name of the auth provider
> they
> > >> are
> > >> using.  So your initial JSON config file could contain something like:
> > >>
> > >> "ports" : [  {
> > >>   "name" : "AMQP",
> > >>   "port" : "${qpid.amqp_port}",
> > >>   "authenticationProvider" :
> "${qpid.amqp_port_authenticationProvider}",
> > >>
> > >>
> > >> and then you could override which provider to use at runtime by
> setting
> > >> the
> > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > >> passwordFile
> > >> (or the name of any other authentication provider that is defined in
> > your
> > >> JSON config.
> > >>
> > >> The only thing you can't do with properties is to add new entities
> into
> > >> the
> > >> config - that you have to do either by editing the file, or by using
> the
> > >> REST api to modify the broker configuration while it is running.
> > >>
> > >> Hope this helps,
> > >> Rob
> > >>
> > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > rammohanganap@gmail.com>
> > >> wrote:
> > >>
> > >> > Rob,
> > >> >
> > >> > Thanks for detailed explanation, i wanted to restart with the
> changed
> > >> > properties if any for example today i have Anonymous SASL and later
> i
> > >> may
> > >> > want to use password file. How do i pass SASL mechanism as -prop?
> > >> >
> > >> > Thanks,
> > >> > Ram
> > >> >
> > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com>
> > >> > wrote:
> > >> >
> > >> > > Hi Ram,
> > >> > >
> > >> > > The initial config file is only used when there is no broker
> config
> > -
> > >> the
> > >> > > idea is that it is used to populate the broker config on first
> > >> startup.
> > >> > > Once there is a broker config file then this is used (since it may
> > >> have
> > >> > > been updated by creating or modifying entities through the
> > management
> > >> > > functions).  The broker ships with a default initial config which
> is
> > >> > > contained within its jar files, however we allow people to provide
> > >> there
> > >> > > own.  Records in the config file a copied verbatim into the config
> > >> store
> > >> > -
> > >> > > the only difference being that ids are generated for each entity.
> > The
> > >> > > interpolation from property names to values is done each time the
> > >> broker
> > >> > > reads the config.  If the broker finds there is config in the
> store
> > >> path
> > >> > > then it completely ignores the initial config - it does not
> examine
> > >> any
> > >> > > differences.
> > >> > >
> > >> > > Are you looking to start a completely fresh broker each time, or
> > >> merely
> > >> > to
> > >> > > be able to change certain properties (such as port numbers) on
> each
> > >> > > restart?  If you do not want to retain any changes to the broker
> > >> > > configuration made while the broker is actually running, then you
> > >> could
> > >> > use
> > >> > > a "memory" config store rather than a Json one.  If you want to
> > retain
> > >> > any
> > >> > > changes made through management, but desire the ability to change
> > >> certain
> > >> > > properties (like ports) on each startup, then you don't need to
> > worry
> > >> > about
> > >> > > the fact that the initial configuration is only loaded the first
> > time
> > >> -
> > >> > you
> > >> > > just need to pass in the property values you want on startup.
> > >> > >
> > >> > > In terms of an example system properties file...  The default
> > >> > > initial-config.json defines the amqp port to be ${qpid.amqp_port}
> > and
> > >> the
> > >> > > http port to run on ${qpid.http_port}, so if I create a properties
> > >> file
> > >> > > called rob.properties which contains
> > >> > >
> > >> > > qpid.http_port=8888
> > >> > > qpid.amqp_port=5555
> > >> > >
> > >> > > and then run qpid with the argument -props rob.properties then I
> > >> get...
> > >> > >
> > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > >> > > [Broker] MNG-1001 : Web Management Startup
> > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> > >> > >
> > >> > >
> > >> > > So, when you use your initial or stored config you just need to
> > ensure
> > >> > all
> > >> > > the variables you use in your config are set in your properties
> file
> > >> > (some
> > >> > > properties have defaults within the code if they are not otherwise
> > >> set -
> > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > elsewhere).
> > >> > >
> > >> > > Hope this helps,
> > >> > > Rob
> > >> > >
> > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > >> rammohanganap@gmail.com
> > >> > >
> > >> > > wrote:
> > >> > >
> > >> > > > Rob,
> > >> > > >
> > >> > > > Thank you, one more question on -icp and -sp, so what if i have
> > >> updated
> > >> > > icp
> > >> > > > with some property change  and restarted broker with icp (every
> > >> time i
> > >> > > > restart broker i am using initial config
> > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right
> > way
> > >> or
> > >> > > > not), does it automatically update config file in -sp? i my case
> > it
> > >> did
> > >> > > not
> > >> > > > updated the config file in store-path upon restart. What will
> > >> happened
> > >> > > if i
> > >> > > > have differences in initial config file that i use to start
> broker
> > >> and
> > >> > > the
> > >> > > > config file under store-path?
> > >> > > >
> > >> > > > Thanks,
> > >> > > > Ram
> > >> > > >
> > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > >> rob.j.godfrey@gmail.com>
> > >> > > > wrote:
> > >> > > >
> > >> > > > > This looks like a client error to me... the line which says:
> > >> > > > >
> > >> > > > >  Client restricted itself to : PLAIN
> > >> > > > >
> > >> > > > > Out of interest what happens if you remove the
> > >> > &sasl_mechs='ANONYMOUS'
> > >> > > > from
> > >> > > > > your connection URL?  Without any sort of restriction I'd
> expect
> > >> the
> > >> > > > client
> > >> > > > > to do the right thing.
> > >> > > > >
> > >> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
> > >> look
> > >> > in
> > >> > > > the
> > >> > > > > morning.
> > >> > > > >
> > >> > > > > -- Rob
> > >> > > > >
> > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > >> > > rammohanganap@gmail.com
> > >> > > > >
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > > > Rob,
> > >> > > > > >
> > >> > > > > > thanks for the explanation, do you have a sample
> > >> > > > > --system-properties-file?
> > >> > > > > > that i can take a look?
> > >> > > > > >
> > >> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> > >> error, i
> > >> > > am
> > >> > > > > not
> > >> > > > > > a developer, i am ops guy and i dont want to change the
> > existing
> > >> > code
> > >> > > > but
> > >> > > > > > wanted to make java qpid work. This is the error i am
> getting
> > >> with
> > >> > > > > 6.0.1v..
> > >> > > > > >
> > >> > > > > > 2016-04-07 22:32:36,726
> > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > ERROR
> > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> Error
> > >> > > > connecting
> > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > error Unknown virtualhost '' username=null
> > >> > > > > > 2016-04-07 22:32:36,731
> > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > ERROR
> > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> Error
> > >> > > > connecting
> > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > error Client and broker have no SASL mechanisms in common.
> > >> Broker
> > >> > > > allows
> > >> > > > > :
> > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> > >> > CRAM-MD5,
> > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> > PLAIN
> > >> > > > > > username=guest
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > And here is my sasl mechanism.
> > >> > > > > >
> > >> > > > > > curl -s 0:10001/service/sasl
> > >> > > > > > {
> > >> > > > > >   "user" : "ANONYMOUS",
> > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > >> > > > > >
> > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> > >> > working.
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > Thanks,
> > >> > > > > > Ram
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > >> > rob.j.godfrey@gmail.com
> > >> > > >
> > >> > > > > > wrote:
> > >> > > > > >
> > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > >> > > > > rammohanganap@gmail.com
> > >> > > > > > >
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > > > Rob,
> > >> > > > > > > >
> > >> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
> > >> time
> > >> > > when
> > >> > > > i
> > >> > > > > > try
> > >> > > > > > > to
> > >> > > > > > > > use .32 it was not working with Anonymous.
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
> > >> using
> > >> > > > (0-9-1,
> > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work
> > on
> > >> > 0.32
> > >> > > > > > however
> > >> > > > > > > I think in 0.32 the "no authentication layer at all"
> option
> > >> for
> > >> > > AMQP
> > >> > > > > 1.0
> > >> > > > > > > probably didn't work (this is different to an
> authentication
> > >> > layer
> > >> > > > > which
> > >> > > > > > > allows anonymous).
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > >
> > >> > > > > > > > Sorry i was not clear in my previous email, i was taking
> > >> about
> > >> > > > > > properties
> > >> > > > > > > > file not broker storage format, the use case is if i
> > wanted
> > >> to
> > >> > > > > override
> > >> > > > > > > > some of these properties and i have my own custom
> > >> tool/script
> > >> > > that
> > >> > > > > > goes
> > >> > > > > > > > through the properties files and replace with the
> > override i
> > >> > > > defined,
> > >> > > > > > so
> > >> > > > > > > i
> > >> > > > > > > > want to use the same tool/script for qpid config as
> well.
> > My
> > >> > tool
> > >> > > > > only
> > >> > > > > > > > support key:value but if we have json array it wont
> work.
> > So
> > >> > if i
> > >> > > > > want
> > >> > > > > > to
> > >> > > > > > > > pass overrides as "-prop"  command line arguments what
> are
> > >> the
> > >> > > > > > properties
> > >> > > > > > > > that java qpid support as command line?
> > >> > > > > > > >
> > >> > > > > > > > Below if my config, is it possible to pass all these as
> > >> command
> > >> > > > line
> > >> > > > > > > > arguments?
> > >> > > > > > > >
> > >> > > > > > > > {
> > >> > > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > >> > > > > > > >     "name" : "Anonymous",
> > >> > > > > > > >     "type" : "Anonymous"
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > >> > > > > > > >   "modelVersion" : "1.3",
> > >> > > > > > > >   "name" : "Broker",
> > >> > > > > > > >   "plugins" : [ {
> > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > >> > > > > > > >     "name" : "httpManagement",
> > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > >> > > > > > > >     "name" : "jmxManagement",
> > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "ports" : [ {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > >> > > > > > > >     "port" : "9099",
> > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > >> > > > > > > >     "port" : "8999",
> > >> > > > > > > >     "protocols" : [ "RMI" ]
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > >> > > > > > > >     "name" : "AMQP",
> > >> > > > > > > >     "port" : "5672"
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > >> > > > > > > >     "name" : "HTTP",
> > >> > > > > > > >     "port" : "10001",
> > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "storeVersion" : 1,
> > >> > > > > > > >   "virtualhosts" : [ {
> > >> > > > > > > >     "createdTime" : 1439482250329,
> > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > >> > > > > > > >     "name" : "default",
> > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > >> > > > > > > >     "storeType" : "DERBY",
> > >> > > > > > > >     "type" : "STANDARD"
> > >> > > > > > > >   } ]
> > >> > > > > > > > }
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > In 6.0 you can replace any value in the JSON with a
> > reference
> > >> to
> > >> > a
> > >> > > > > > > property, for example
> > >> > > > > > >
> > >> > > > > > > "name" : "${myPortName}",
> > >> > > > > > >
> > >> > > > > > > this will then interpolate the value from the property, so
> > if
> > >> you
> > >> > > set
> > >> > > > > the
> > >> > > > > > > property myPortName to "RobsPort" that will be the value
> > used.
> > >> > > Type
> > >> > > > > > > conversions will be performed, so if the required value is
> > an
> > >> > > integer
> > >> > > > > it
> > >> > > > > > > will convert to an integer.  If the value required is a
> list
> > >> then
> > >> > > you
> > >> > > > > can
> > >> > > > > > > use a String representation of a list in Json format.
> > >> > > > > > >
> > >> > > > > > > You can set the properties individually, or you can pass
> in
> > a
> > >> > > > > properties
> > >> > > > > > > file using -props or --system-properties-file (so if you
> > have
> > >> a
> > >> > > > > > properties
> > >> > > > > > > file already maybe you can just pass this in).
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > > One more question or may be clarification is,
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > > *-sp (--store-path) is the path of config file that will
> > >> > > generated
> > >> > > > by
> > >> > > > > > > qpidd
> > >> > > > > > > > from the initial config right? what is the use of
> > >> store-path?*
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > That is correct.  Some people just like to have config
> files
> > >> in a
> > >> > > > > > > non-default location :-)
> > >> > > > > > >
> > >> > > > > > > Hope this helps,
> > >> > > > > > > Rob
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > > *Thanks,*
> > >> > > > > > > >
> > >> > > > > > > > *Ram*
> > >> > > > > > > >
> > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > >> > > > rob.j.godfrey@gmail.com
> > >> > > > > >
> > >> > > > > > > > wrote:
> > >> > > > > > > >
> > >> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
> > >> updating
> > >> > to
> > >> > > > > v6.0.1
> > >> > > > > > > if
> > >> > > > > > > > > you can.
> > >> > > > > > > > >
> > >> > > > > > > > > Secondly I'm not sure I understand your question - are
> > you
> > >> > > asking
> > >> > > > > > about
> > >> > > > > > > > > overriding particular properties, or the storage
> format
> > >> for
> > >> > the
> > >> > > > > > broker
> > >> > > > > > > > > configuration - these are two different things.  In
> > terms
> > >> of
> > >> > > > > > > properties /
> > >> > > > > > > > > context overrides this can be specified using a
> > properties
> > >> > file
> > >> > > > (at
> > >> > > > > > > least
> > >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
> > >> terms of
> > >> > > the
> > >> > > > > > > > > configuration, JSON is currently the only text based
> > >> format
> > >> > > > > > supported.
> > >> > > > > > > > You
> > >> > > > > > > > > can use a database for the broker config storage,
> there
> > >> are
> > >> > > built
> > >> > > > > in
> > >> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC
> > config
> > >> > > stores.
> > >> > > > > > > > >
> > >> > > > > > > > > May I ask what advantage you would get by using YAML
> or
> > >> > > > properties
> > >> > > > > > > files
> > >> > > > > > > > > instead of JSON?
> > >> > > > > > > > >
> > >> > > > > > > > > -- Rob
> > >> > > > > > > > >
> > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > >> > > > > > > rammohanganap@gmail.com
> > >> > > > > > > > >
> > >> > > > > > > > > wrote:
> > >> > > > > > > > >
> > >> > > > > > > > > > Hi,
> > >> > > > > > > > > >
> > >> > > > > > > > > > Is there any way to start qpid-java-0.28 broker
> using
> > >> > > > .properties
> > >> > > > > > > file
> > >> > > > > > > > or
> > >> > > > > > > > > > .xml or .yaml file instead of .json file? or what
> are
> > >> the
> > >> > > other
> > >> > > > > > ways
> > >> > > > > > > to
> > >> > > > > > > > > > pass override properties instead of JSON config
> file?
> > >> > > > > > > > > >
> > >> > > > > > > > > >
> > >> > > > > > > > > > Thanks,
> > >> > > > > > > > > > Ram
> > >> > > > > > > > > >
> > >> > > > > > > > >
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I am in the processes on migrating from CPP broker to java broker, so is
there any way to import and export unconsumed messages from cpp broker
queue to java broker queue?

Thanks,
Ram

On Tue, Apr 19, 2016 at 7:10 PM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Thanks Rob, it worked by adding this to bin/qpid-server startup script
>
> QPID_OPTS="$QPID_OPTS *-Dderby.stream.error.file=$DERBY_LOG/derby.log*
> -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=$QPID_LOG_APPEND"
>
>
> Ram
>
> On Tue, Apr 19, 2016 at 3:16 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> On 19 April 2016 at 22:44, rammohan ganapavarapu <rammohanganap@gmail.com
>> >
>> wrote:
>>
>> > Rob,
>> >
>> > I know you recommended to use v6 but i cant deploy it to prod right now
>> so
>> > can you please share how do i redirect derby.log file to specified
>> > directory other then `pwd`? in v0.28 derby.log file is getting created
>> from
>> > the dir where you start the processes but i wanted to send it to
>> > /var/log/qpidd/derby.log, is there any environment variable that i can
>> > pass?
>> >
>> > Thanks,
>> > Ram
>> >
>> >
>> In 0.28 that log file is completely determined by Derby itself (in v6 we
>> get Derby to log into the standard Qpid log file so this wouldn't be an
>> issue).
>>
>> I believe Derby defines properties to allow you to set the file logged to:
>>
>> http://db.apache.org/derby/docs/10.8/ref/rrefproper18151.html
>>
>> and you can set this as a java system property:
>> https://db.apache.org/derby/docs/10.8/devguide/cdevsetprop11561.html
>>
>> As above, when you migrate to v6.0 or later the derby.log file is no
>> longer
>> created - all logs are consolidated into the qpid log.
>>
>> -- Rob
>>
>>
>> > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
>> > rammohanganap@gmail.com> wrote:
>> >
>> > > Hi Rob,
>> > >
>> > > I did not get chance to try v6, i will try and let you know.
>> > >
>> > > Ram
>> > >
>> > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > wrote:
>> > >
>> > >> Hi Ram,
>> > >>
>> > >> have you got v6 working now?  The memory settings for the broker
>> depend
>> > >> upon which version you are using.  For version 6 there is a
>> > comprehensive
>> > >> discussion on memory allocation settings in the manual:
>> > >>
>> > >>
>> >
>> https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html
>> > >>
>> > >> Versions prior to v6 use memory (and threads) very differently.
>> > >>
>> > >> Hope this helps,
>> > >> Rob
>> > >>
>> > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
>> > rammohanganap@gmail.com
>> > >> >
>> > >> wrote:
>> > >>
>> > >> > Rob,
>> > >> >
>> > >> > One more question in the same context, what are the recommended JVM
>> > >> > settings for java broker? i am using default "-Xmx1024m" its
>> working
>> > >> fine
>> > >> > but i wanted to follow the best practices. Please advice.
>> > >> >
>> > >> >
>> > >> > Thanks,
>> > >> > Ram
>> > >> >
>> > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
>> rob.j.godfrey@gmail.com
>> > >
>> > >> > wrote:
>> > >> >
>> > >> > > Hi Ram,
>> > >> > >
>> > >> > > Apologies, I've been having a few issues with my internet
>> provider.
>> > >> > >
>> > >> > > Can you try setting up an entirely clean install of Qpid 6.0.1
>> and
>> > >> > > configuring (through the UI) that to use ANONYMOUS, and then
>> check
>> > >> your
>> > >> > > client can connect.
>> > >> > >
>> > >> > > This is what I did, and it works fine for me.
>> > >> > >
>> > >> > > For the rest of your requirements (like setting the log file
>> > location,
>> > >> > > etc.) you really want to be using version 6 or later.
>> > >> > >
>> > >> > > Cheers,
>> > >> > > Rob
>> > >> > >
>> > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
>> > >> > rammohanganap@gmail.com>
>> > >> > > wrote:
>> > >> > >
>> > >> > > > Rob,
>> > >> > > >
>> > >> > > > I have tried with virtualhost config that you have provided
>> but i
>> > am
>> > >> > > still
>> > >> > > > getting connection error. I would like to make it work with
>> 6.0*
>> > >> > version
>> > >> > > > but at this point i need 0.28 version to make working, so if
>> you
>> > can
>> > >> > help
>> > >> > > > me to configure log location in 0.28 that would unblock me for
>> > now.
>> > >> > > >
>> > >> > > > Thanks,
>> > >> > > > Ram
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
>> > >> > > S.QUEUECLIENTSERVICE -
>> > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> Connection
>> > : 0
>> > >> > > Host =
>> > >> > > > localhost
>> > >> > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
>> in
>> > >> > common.
>> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > >> > > CRAM-MD5-HASHED,
>> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
>> to
>> > :
>> > >> > PLAIN
>> > >> > > > username=guest
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > >> > > S.QUEUECLIENTSERVICE -
>> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
>> null
>> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > >> > > c.a.a.q.QueueBuilder -
>> > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
>> > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
>> > >> > > c.a.a.q.QueueBuilder -
>> > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
>> > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
>> > >> > > S.QUEUECLIENTSERVICE -
>> > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> Connection
>> > : 0
>> > >> > > Host =
>> > >> > > > localhost
>> > >> > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > >> > > > Not Connected. error Unknown virtualhost '' username=null
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > >> > > S.QUEUECLIENTSERVICE -
>> > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> Connection
>> > : 0
>> > >> > > Host =
>> > >> > > > localhost
>> > >> > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
>> in
>> > >> > common.
>> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > >> > > CRAM-MD5-HASHED,
>> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
>> to
>> > :
>> > >> > PLAIN
>> > >> > > > username=guest
>> > >> > > >
>> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > >> > > S.QUEUECLIENTSERVICE -
>> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
>> null
>> > >> > > >
>> > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
>> > >> rob.j.godfrey@gmail.com>
>> > >> > > > wrote:
>> > >> > > >
>> > >> > > > > Hi Ram,
>> > >> > > > >
>> > >> > > > > in 6.0.x the log file location can be changed directly
>> through
>> > the
>> > >> > > config
>> > >> > > > > json - I really think we should first concentrate on getting
>> > that
>> > >> > > working
>> > >> > > > > for you.
>> > >> > > > >
>> > >> > > > > I've verified that using the 6.0.x client and broker with a
>> URL
>> > >> > similar
>> > >> > > > to
>> > >> > > > > the one in your log file works for ANONYMOUS.
>> > >> > > > >
>> > >> > > > > Looking at your error output again I notice that there seem
>> > >> actually
>> > >> > to
>> > >> > > > be
>> > >> > > > > two connection attempts, the first ends with:
>> > >> > > > >
>> > >> > > > > error Unknown virtualhost '' username=null
>> > >> > > > >
>> > >> > > > > Then we see the second failure with the "PLAIN" error.  That
>> > first
>> > >> > > error
>> > >> > > > > indicate that ANONYMOUS log in was actually successful,
>> however
>> > >> you
>> > >> > > were
>> > >> > > > > the running into the fact that no virtualhost is mapped to
>> the
>> > >> empty
>> > >> > > > > string.  That suggests to me that you don't have any
>> > >> > virtualhostaliases
>> > >> > > > > defined in your (AMQP) port config. I'd suggest that it would
>> > make
>> > >> > > sense
>> > >> > > > to
>> > >> > > > > craft an initial config based on the default initial config
>> for
>> > >> 6.0.x
>> > >> > > > which
>> > >> > > > > will include a virtualhostaliases section in the AMQP port
>> which
>> > >> > looks
>> > >> > > > > like:
>> > >> > > > >
>> > >> > > > > "virtualhostaliases" : [ {
>> > >> > > > >    "name" : "nameAlias",
>> > >> > > > >    "type" : "nameAlias"
>> > >> > > > > }, {
>> > >> > > > >     "name" : "defaultAlias",
>> > >> > > > >     "type" : "defaultAlias"
>> > >> > > > > }, {
>> > >> > > > >     "name" : "hostnameAlias",
>> > >> > > > >     "type" : "hostnameAlias"
>> > >> > > > > } ]
>> > >> > > > >
>> > >> > > > >
>> > >> > > > > Let me know if this works for you, then we can look at some
>> of
>> > >> your
>> > >> > > other
>> > >> > > > > questions.
>> > >> > > > >
>> > >> > > > > -- Rob
>> > >> > > > >
>> > >> > > > >
>> > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
>> > >> > > rammohanganap@gmail.com
>> > >> > > > >
>> > >> > > > > wrote:
>> > >> > > > >
>> > >> > > > > > Rob,
>> > >> > > > > >
>> > >> > > > > > Also how do i pass logfile location as -prop as commandline
>> > >> > argument?
>> > >> > > > or
>> > >> > > > > > how do i change default log file location i know we can
>> update
>> > >> > > > log4j.xml
>> > >> > > > > > but is there any other way?
>> > >> > > > > >
>> > >> > > > > > Ram
>> > >> > > > > >
>> > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
>> > >> > > > > > rammohanganap@gmail.com> wrote:
>> > >> > > > > >
>> > >> > > > > > > Rob,
>> > >> > > > > > >
>> > >> > > > > > > I tried passing properties file as argument but it didnt
>> > like
>> > >> it.
>> > >> > > > Does
>> > >> > > > > it
>> > >> > > > > > > support in 0.28v?
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
>> > >> > > > > > ../etc/qpidd.properties
>> > >> > > > > > >
>> > >> > > > > > > System Properties set to -Damqj.logging.level=info
>> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > >> > -DQPID_LOG_APPEND=
>> > >> > > > > > > Using QPID_CLASSPATH
>> > >> > > > > > >
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > >> > > > > -XX:+UseConcMarkSweepGC
>> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
>> > -Xmx1024m
>> > >> > > > > > > Exception during startup:
>> > java.lang.IllegalArgumentException:
>> > >> > > > > > > Configuration property argument is not of the format
>> > >> name=value:
>> > >> > > > > > > ../etc/qpidd.properties
>> > >> > > > > > > java.lang.IllegalArgumentException: Configuration
>> property
>> > >> > argument
>> > >> > > > is
>> > >> > > > > > not
>> > >> > > > > > > of the format name=value: ../etc/qpidd.properties
>> > >> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
>> > >> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
>> > >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
>> > >> > > > > > > ../etc/qpidd.properties
>> > >> > > > > > >
>> > >> > > > > > > System Properties set to -Damqj.logging.level=info
>> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > >> > -DQPID_LOG_APPEND=
>> > >> > > > > > > Using QPID_CLASSPATH
>> > >> > > > > > >
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > >> > > > > -XX:+UseConcMarkSweepGC
>> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
>> > -Xmx1024m
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > > > *Error: Unrecognized option: -props*
>> > >> > > > > > > How do i change this block from initial configuration to
>> use
>> > >> > > > Anonymous?
>> > >> > > > > > >
>> > >> > > > > > > {
>> > >> > > > > > >   "name": "Broker",
>> > >> > > > > > >   "storeVersion": 1,
>> > >> > > > > > >   "modelVersion": "1.2",
>> > >> > > > > > >   "defaultVirtualHost" : "default",
>> > >> > > > > > >   "authenticationproviders" : [ {
>> > >> > > > > > >     "name" : "passwordFile",
>> > >> > > > > > >     "type" : "PlainPasswordFile",
>> > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
>> > >> > > > > > >     "preferencesproviders" : [{
>> > >> > > > > > >         "name": "fileSystemPreferences",
>> > >> > > > > > >         "type": "FileSystemPreferences",
>> > >> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
>> > >> > > > > > >     }]
>> > >> > > > > > >   } ],
>> > >> > > > > > >
>> > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
>> > >> > > > rob.j.godfrey@gmail.com>
>> > >> > > > > > > wrote:
>> > >> > > > > > >
>> > >> > > > > > >> Hi Ram,
>> > >> > > > > > >>
>> > >> > > > > > >> so one approach to this would be to define you
>> > authentication
>> > >> > > > > providers
>> > >> > > > > > up
>> > >> > > > > > >> from in your config file, so you have an an Anonymous
>> > >> provider
>> > >> > > named
>> > >> > > > > > >> "anonymous" and a password file provider named
>> > >> "passwordFile" or
>> > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
>> > etc)
>> > >> you
>> > >> > > can
>> > >> > > > > > >> parameterise the value they have for the name of the
>> auth
>> > >> > provider
>> > >> > > > > they
>> > >> > > > > > >> are
>> > >> > > > > > >> using.  So your initial JSON config file could contain
>> > >> something
>> > >> > > > like:
>> > >> > > > > > >>
>> > >> > > > > > >> "ports" : [  {
>> > >> > > > > > >>   "name" : "AMQP",
>> > >> > > > > > >>   "port" : "${qpid.amqp_port}",
>> > >> > > > > > >>   "authenticationProvider" :
>> > >> > > > > "${qpid.amqp_port_authenticationProvider}",
>> > >> > > > > > >>
>> > >> > > > > > >>
>> > >> > > > > > >> and then you could override which provider to use at
>> > runtime
>> > >> by
>> > >> > > > > setting
>> > >> > > > > > >> the
>> > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
>> anonymous
>> > >> or
>> > >> > > > > > >> passwordFile
>> > >> > > > > > >> (or the name of any other authentication provider that
>> is
>> > >> > defined
>> > >> > > in
>> > >> > > > > > your
>> > >> > > > > > >> JSON config.
>> > >> > > > > > >>
>> > >> > > > > > >> The only thing you can't do with properties is to add
>> new
>> > >> > entities
>> > >> > > > > into
>> > >> > > > > > >> the
>> > >> > > > > > >> config - that you have to do either by editing the
>> file, or
>> > >> by
>> > >> > > using
>> > >> > > > > the
>> > >> > > > > > >> REST api to modify the broker configuration while it is
>> > >> running.
>> > >> > > > > > >>
>> > >> > > > > > >> Hope this helps,
>> > >> > > > > > >> Rob
>> > >> > > > > > >>
>> > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
>> > >> > > > > > rammohanganap@gmail.com>
>> > >> > > > > > >> wrote:
>> > >> > > > > > >>
>> > >> > > > > > >> > Rob,
>> > >> > > > > > >> >
>> > >> > > > > > >> > Thanks for detailed explanation, i wanted to restart
>> with
>> > >> the
>> > >> > > > > changed
>> > >> > > > > > >> > properties if any for example today i have Anonymous
>> SASL
>> > >> and
>> > >> > > > later
>> > >> > > > > i
>> > >> > > > > > >> may
>> > >> > > > > > >> > want to use password file. How do i pass SASL
>> mechanism
>> > as
>> > >> > > -prop?
>> > >> > > > > > >> >
>> > >> > > > > > >> > Thanks,
>> > >> > > > > > >> > Ram
>> > >> > > > > > >> >
>> > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
>> > >> > > > > rob.j.godfrey@gmail.com>
>> > >> > > > > > >> > wrote:
>> > >> > > > > > >> >
>> > >> > > > > > >> > > Hi Ram,
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > The initial config file is only used when there is
>> no
>> > >> broker
>> > >> > > > > config
>> > >> > > > > > -
>> > >> > > > > > >> the
>> > >> > > > > > >> > > idea is that it is used to populate the broker
>> config
>> > on
>> > >> > first
>> > >> > > > > > >> startup.
>> > >> > > > > > >> > > Once there is a broker config file then this is used
>> > >> (since
>> > >> > it
>> > >> > > > may
>> > >> > > > > > >> have
>> > >> > > > > > >> > > been updated by creating or modifying entities
>> through
>> > >> the
>> > >> > > > > > management
>> > >> > > > > > >> > > functions).  The broker ships with a default initial
>> > >> config
>> > >> > > > which
>> > >> > > > > is
>> > >> > > > > > >> > > contained within its jar files, however we allow
>> people
>> > >> to
>> > >> > > > provide
>> > >> > > > > > >> there
>> > >> > > > > > >> > > own.  Records in the config file a copied verbatim
>> into
>> > >> the
>> > >> > > > config
>> > >> > > > > > >> store
>> > >> > > > > > >> > -
>> > >> > > > > > >> > > the only difference being that ids are generated for
>> > each
>> > >> > > > entity.
>> > >> > > > > > The
>> > >> > > > > > >> > > interpolation from property names to values is done
>> > each
>> > >> > time
>> > >> > > > the
>> > >> > > > > > >> broker
>> > >> > > > > > >> > > reads the config.  If the broker finds there is
>> config
>> > in
>> > >> > the
>> > >> > > > > store
>> > >> > > > > > >> path
>> > >> > > > > > >> > > then it completely ignores the initial config - it
>> does
>> > >> not
>> > >> > > > > examine
>> > >> > > > > > >> any
>> > >> > > > > > >> > > differences.
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > Are you looking to start a completely fresh broker
>> each
>> > >> > time,
>> > >> > > or
>> > >> > > > > > >> merely
>> > >> > > > > > >> > to
>> > >> > > > > > >> > > be able to change certain properties (such as port
>> > >> numbers)
>> > >> > on
>> > >> > > > > each
>> > >> > > > > > >> > > restart?  If you do not want to retain any changes
>> to
>> > the
>> > >> > > broker
>> > >> > > > > > >> > > configuration made while the broker is actually
>> > running,
>> > >> > then
>> > >> > > > you
>> > >> > > > > > >> could
>> > >> > > > > > >> > use
>> > >> > > > > > >> > > a "memory" config store rather than a Json one.  If
>> you
>> > >> want
>> > >> > > to
>> > >> > > > > > retain
>> > >> > > > > > >> > any
>> > >> > > > > > >> > > changes made through management, but desire the
>> ability
>> > >> to
>> > >> > > > change
>> > >> > > > > > >> certain
>> > >> > > > > > >> > > properties (like ports) on each startup, then you
>> don't
>> > >> need
>> > >> > > to
>> > >> > > > > > worry
>> > >> > > > > > >> > about
>> > >> > > > > > >> > > the fact that the initial configuration is only
>> loaded
>> > >> the
>> > >> > > first
>> > >> > > > > > time
>> > >> > > > > > >> -
>> > >> > > > > > >> > you
>> > >> > > > > > >> > > just need to pass in the property values you want on
>> > >> > startup.
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > In terms of an example system properties file...
>> The
>> > >> > default
>> > >> > > > > > >> > > initial-config.json defines the amqp port to be
>> > >> > > > ${qpid.amqp_port}
>> > >> > > > > > and
>> > >> > > > > > >> the
>> > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
>> create a
>> > >> > > > properties
>> > >> > > > > > >> file
>> > >> > > > > > >> > > called rob.properties which contains
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > qpid.http_port=8888
>> > >> > > > > > >> > > qpid.amqp_port=5555
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > and then run qpid with the argument -props
>> > rob.properties
>> > >> > > then I
>> > >> > > > > > >> get...
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port
>> > 5555
>> > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
>> > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on
>> TCP
>> > >> port
>> > >> > > 8888
>> > >> > > > > > >> > >
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > So, when you use your initial or stored config you
>> just
>> > >> need
>> > >> > > to
>> > >> > > > > > ensure
>> > >> > > > > > >> > all
>> > >> > > > > > >> > > the variables you use in your config are set in your
>> > >> > > properties
>> > >> > > > > file
>> > >> > > > > > >> > (some
>> > >> > > > > > >> > > properties have defaults within the code if they are
>> > not
>> > >> > > > otherwise
>> > >> > > > > > >> set -
>> > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is
>> not
>> > set
>> > >> > > > > > elsewhere).
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > Hope this helps,
>> > >> > > > > > >> > > Rob
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> > >> > > > > > >> rammohanganap@gmail.com
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > wrote:
>> > >> > > > > > >> > >
>> > >> > > > > > >> > > > Rob,
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so
>> what
>> > >> if i
>> > >> > > > have
>> > >> > > > > > >> updated
>> > >> > > > > > >> > > icp
>> > >> > > > > > >> > > > with some property change  and restarted broker
>> with
>> > >> icp
>> > >> > > > (every
>> > >> > > > > > >> time i
>> > >> > > > > > >> > > > restart broker i am using initial config
>> > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
>> > its
>> > >> is
>> > >> > > > right
>> > >> > > > > > way
>> > >> > > > > > >> or
>> > >> > > > > > >> > > > not), does it automatically update config file in
>> > -sp?
>> > >> i
>> > >> > my
>> > >> > > > case
>> > >> > > > > > it
>> > >> > > > > > >> did
>> > >> > > > > > >> > > not
>> > >> > > > > > >> > > > updated the config file in store-path upon
>> restart.
>> > >> What
>> > >> > > will
>> > >> > > > > > >> happened
>> > >> > > > > > >> > > if i
>> > >> > > > > > >> > > > have differences in initial config file that i
>> use to
>> > >> > start
>> > >> > > > > broker
>> > >> > > > > > >> and
>> > >> > > > > > >> > > the
>> > >> > > > > > >> > > > config file under store-path?
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > Thanks,
>> > >> > > > > > >> > > > Ram
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> > >> > > > > > >> rob.j.godfrey@gmail.com>
>> > >> > > > > > >> > > > wrote:
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > > This looks like a client error to me... the line
>> > >> which
>> > >> > > says:
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > Out of interest what happens if you remove the
>> > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
>> > >> > > > > > >> > > > from
>> > >> > > > > > >> > > > > your connection URL?  Without any sort of
>> > restriction
>> > >> > I'd
>> > >> > > > > expect
>> > >> > > > > > >> the
>> > >> > > > > > >> > > > client
>> > >> > > > > > >> > > > > to do the right thing.
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )...
>> I'll
>> > >> have
>> > >> > > > deeper
>> > >> > > > > > >> look
>> > >> > > > > > >> > in
>> > >> > > > > > >> > > > the
>> > >> > > > > > >> > > > > morning.
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > -- Rob
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu
>> <
>> > >> > > > > > >> > > rammohanganap@gmail.com
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > wrote:
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > > > > Rob,
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > thanks for the explanation, do you have a
>> sample
>> > >> > > > > > >> > > > > --system-properties-file?
>> > >> > > > > > >> > > > > > that i can take a look?
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
>> > >> throwing
>> > >> > > this
>> > >> > > > > > >> error, i
>> > >> > > > > > >> > > am
>> > >> > > > > > >> > > > > not
>> > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
>> > change
>> > >> > the
>> > >> > > > > > existing
>> > >> > > > > > >> > code
>> > >> > > > > > >> > > > but
>> > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
>> error
>> > i
>> > >> am
>> > >> > > > > getting
>> > >> > > > > > >> with
>> > >> > > > > > >> > > > > 6.0.1v..
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
>> > >> > > > > > >> > > > > >
>> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > >> > > > > > ERROR
>> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > >> > ConnectionImpl.openConnection() :
>> > >> > > > > Error
>> > >> > > > > > >> > > > connecting
>> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > >
>> > >> > > > > > >> >
>> > >> > > > > > >>
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
>> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
>> > >> > > > > > >> > > > > >
>> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > >> > > > > > ERROR
>> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > >> > ConnectionImpl.openConnection() :
>> > >> > > > > Error
>> > >> > > > > > >> > > > connecting
>> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > >
>> > >> > > > > > >> >
>> > >> > > > > > >>
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > >> > > > > > >> > > > > > error Client and broker have no SASL
>> mechanisms
>> > in
>> > >> > > common.
>> > >> > > > > > >> Broker
>> > >> > > > > > >> > > > allows
>> > >> > > > > > >> > > > > :
>> > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > >> > > CRAM-MD5-HASHED,
>> > >> > > > > > >> > CRAM-MD5,
>> > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
>> > >> itself
>> > >> > to
>> > >> > > :
>> > >> > > > > > PLAIN
>> > >> > > > > > >> > > > > > username=guest
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > And here is my sasl mechanism.
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
>> > >> > > > > > >> > > > > > {
>> > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
>> > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
>> > >> 6.0.1
>> > >> > is
>> > >> > > > not
>> > >> > > > > > >> > working.
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > Thanks,
>> > >> > > > > > >> > > > > > Ram
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > >> > > > > > >> > rob.j.godfrey@gmail.com
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > > > > > wrote:
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
>> > ganapavarapu <
>> > >> > > > > > >> > > > > rammohanganap@gmail.com
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > wrote:
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > > Rob,
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
>> > >> > authentication?
>> > >> > > > last
>> > >> > > > > > >> time
>> > >> > > > > > >> > > when
>> > >> > > > > > >> > > > i
>> > >> > > > > > >> > > > > > try
>> > >> > > > > > >> > > > > > > to
>> > >> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
>> > protocol
>> > >> > are
>> > >> > > > you
>> > >> > > > > > >> using
>> > >> > > > > > >> > > > (0-9-1,
>> > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
>> Anonymous
>> > >> > should
>> > >> > > > work
>> > >> > > > > > on
>> > >> > > > > > >> > 0.32
>> > >> > > > > > >> > > > > > however
>> > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication
>> layer at
>> > >> all"
>> > >> > > > > option
>> > >> > > > > > >> for
>> > >> > > > > > >> > > AMQP
>> > >> > > > > > >> > > > > 1.0
>> > >> > > > > > >> > > > > > > probably didn't work (this is different to
>> an
>> > >> > > > > authentication
>> > >> > > > > > >> > layer
>> > >> > > > > > >> > > > > which
>> > >> > > > > > >> > > > > > > allows anonymous).
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
>> email, i
>> > >> was
>> > >> > > > taking
>> > >> > > > > > >> about
>> > >> > > > > > >> > > > > > properties
>> > >> > > > > > >> > > > > > > > file not broker storage format, the use
>> case
>> > is
>> > >> > if i
>> > >> > > > > > wanted
>> > >> > > > > > >> to
>> > >> > > > > > >> > > > > override
>> > >> > > > > > >> > > > > > > > some of these properties and i have my own
>> > >> custom
>> > >> > > > > > >> tool/script
>> > >> > > > > > >> > > that
>> > >> > > > > > >> > > > > > goes
>> > >> > > > > > >> > > > > > > > through the properties files and replace
>> with
>> > >> the
>> > >> > > > > > override i
>> > >> > > > > > >> > > > defined,
>> > >> > > > > > >> > > > > > so
>> > >> > > > > > >> > > > > > > i
>> > >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
>> > >> config
>> > >> > as
>> > >> > > > > well.
>> > >> > > > > > My
>> > >> > > > > > >> > tool
>> > >> > > > > > >> > > > > only
>> > >> > > > > > >> > > > > > > > support key:value but if we have json
>> array
>> > it
>> > >> > wont
>> > >> > > > > work.
>> > >> > > > > > So
>> > >> > > > > > >> > if i
>> > >> > > > > > >> > > > > want
>> > >> > > > > > >> > > > > > to
>> > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
>> > >> arguments
>> > >> > > what
>> > >> > > > > are
>> > >> > > > > > >> the
>> > >> > > > > > >> > > > > > properties
>> > >> > > > > > >> > > > > > > > that java qpid support as command line?
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > Below if my config, is it possible to pass
>> > all
>> > >> > these
>> > >> > > > as
>> > >> > > > > > >> command
>> > >> > > > > > >> > > > line
>> > >> > > > > > >> > > > > > > > arguments?
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > {
>> > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
>> > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
>> > >> > > > > > >> > > > > > > >   } ],
>> > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
>> > >> > > > > > >> > > > > > > >   "id" :
>> > >> "c433a66c-e6dc-4c48-be01-268295f580bc",
>> > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
>> > >> > > > > > >> > > > > > > >   "name" : "Broker",
>> > >> > > > > > >> > > > > > > >   "plugins" : [ {
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
>> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > >> > > > > > >> > > > > > > >   }, {
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
>> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > >> > > > > > >> > > > > > > >   } ],
>> > >> > > > > > >> > > > > > > >   "ports" : [ {
>> > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> "Anonymous",
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "99e13356-080a-4abe-852e-8c452149cdae",
>> > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > >> > > > > > >> > > > > > > >     "port" : "9099",
>> > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > >> > > > > > >> > > > > > > >   }, {
>> > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> "Anonymous",
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "12813407-62ae-429f-8bee-75802f3b6553",
>> > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
>> > >> > > > > > >> > > > > > > >     "port" : "8999",
>> > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
>> > >> > > > > > >> > > > > > > >   }, {
>> > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> "Anonymous",
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "3b107675-edd7-40a3-86c2-3113b46157f9",
>> > >> > > > > > >> > > > > > > >     "name" : "AMQP",
>> > >> > > > > > >> > > > > > > >     "port" : "5672"
>> > >> > > > > > >> > > > > > > >   }, {
>> > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> "Anonymous",
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> > >> > > > > > >> > > > > > > >     "name" : "HTTP",
>> > >> > > > > > >> > > > > > > >     "port" : "10001",
>> > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
>> > >> > > > > > >> > > > > > > >   } ],
>> > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
>> > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
>> > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
>> > >> > > > > > >> > > > > > > >     "id" :
>> > >> "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> > >> > > > > > >> > > > > > > >     "name" : "default",
>> > >> > > > > > >> > > > > > > >     "storePath" :
>> "/ebs//derbystore/default",
>> > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
>> > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
>> > >> > > > > > >> > > > > > > >   } ]
>> > >> > > > > > >> > > > > > > > }
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
>> > >> with a
>> > >> > > > > > reference
>> > >> > > > > > >> to
>> > >> > > > > > >> > a
>> > >> > > > > > >> > > > > > > property, for example
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > "name" : "${myPortName}",
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > this will then interpolate the value from
>> the
>> > >> > > property,
>> > >> > > > so
>> > >> > > > > > if
>> > >> > > > > > >> you
>> > >> > > > > > >> > > set
>> > >> > > > > > >> > > > > the
>> > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will
>> be
>> > >> the
>> > >> > > value
>> > >> > > > > > used.
>> > >> > > > > > >> > > Type
>> > >> > > > > > >> > > > > > > conversions will be performed, so if the
>> > required
>> > >> > > value
>> > >> > > > is
>> > >> > > > > > an
>> > >> > > > > > >> > > integer
>> > >> > > > > > >> > > > > it
>> > >> > > > > > >> > > > > > > will convert to an integer.  If the value
>> > >> required
>> > >> > is
>> > >> > > a
>> > >> > > > > list
>> > >> > > > > > >> then
>> > >> > > > > > >> > > you
>> > >> > > > > > >> > > > > can
>> > >> > > > > > >> > > > > > > use a String representation of a list in
>> Json
>> > >> > format.
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > You can set the properties individually, or
>> you
>> > >> can
>> > >> > > pass
>> > >> > > > > in
>> > >> > > > > > a
>> > >> > > > > > >> > > > > properties
>> > >> > > > > > >> > > > > > > file using -props or
>> --system-properties-file
>> > >> (so if
>> > >> > > you
>> > >> > > > > > have
>> > >> > > > > > >> a
>> > >> > > > > > >> > > > > > properties
>> > >> > > > > > >> > > > > > > file already maybe you can just pass this
>> in).
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > > One more question or may be clarification
>> is,
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
>> > file
>> > >> > that
>> > >> > > > will
>> > >> > > > > > >> > > generated
>> > >> > > > > > >> > > > by
>> > >> > > > > > >> > > > > > > qpidd
>> > >> > > > > > >> > > > > > > > from the initial config right? what is the
>> > use
>> > >> of
>> > >> > > > > > >> store-path?*
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > That is correct.  Some people just like to
>> have
>> > >> > config
>> > >> > > > > files
>> > >> > > > > > >> in a
>> > >> > > > > > >> > > > > > > non-default location :-)
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > Hope this helps,
>> > >> > > > > > >> > > > > > > Rob
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > > > > *Thanks,*
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > *Ram*
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
>> Godfrey <
>> > >> > > > > > >> > > > rob.j.godfrey@gmail.com
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > > > > > wrote:
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
>> > >> > recommend
>> > >> > > > > > >> updating
>> > >> > > > > > >> > to
>> > >> > > > > > >> > > > > v6.0.1
>> > >> > > > > > >> > > > > > > if
>> > >> > > > > > >> > > > > > > > > you can.
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
>> > >> > question -
>> > >> > > > are
>> > >> > > > > > you
>> > >> > > > > > >> > > asking
>> > >> > > > > > >> > > > > > about
>> > >> > > > > > >> > > > > > > > > overriding particular properties, or the
>> > >> storage
>> > >> > > > > format
>> > >> > > > > > >> for
>> > >> > > > > > >> > the
>> > >> > > > > > >> > > > > > broker
>> > >> > > > > > >> > > > > > > > > configuration - these are two different
>> > >> things.
>> > >> > > In
>> > >> > > > > > terms
>> > >> > > > > > >> of
>> > >> > > > > > >> > > > > > > properties /
>> > >> > > > > > >> > > > > > > > > context overrides this can be specified
>> > >> using a
>> > >> > > > > > properties
>> > >> > > > > > >> > file
>> > >> > > > > > >> > > > (at
>> > >> > > > > > >> > > > > > > least
>> > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked
>> on
>> > >> 0.28).
>> > >> > > In
>> > >> > > > > > >> terms of
>> > >> > > > > > >> > > the
>> > >> > > > > > >> > > > > > > > > configuration, JSON is currently the
>> only
>> > >> text
>> > >> > > based
>> > >> > > > > > >> format
>> > >> > > > > > >> > > > > > supported.
>> > >> > > > > > >> > > > > > > > You
>> > >> > > > > > >> > > > > > > > > can use a database for the broker config
>> > >> > storage,
>> > >> > > > > there
>> > >> > > > > > >> are
>> > >> > > > > > >> > > built
>> > >> > > > > > >> > > > > in
>> > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
>> > generic
>> > >> > JDBC
>> > >> > > > > > config
>> > >> > > > > > >> > > stores.
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > May I ask what advantage you would get
>> by
>> > >> using
>> > >> > > YAML
>> > >> > > > > or
>> > >> > > > > > >> > > > properties
>> > >> > > > > > >> > > > > > > files
>> > >> > > > > > >> > > > > > > > > instead of JSON?
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > -- Rob
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
>> > >> ganapavarapu
>> > >> > <
>> > >> > > > > > >> > > > > > > rammohanganap@gmail.com
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > wrote:
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > > > > Hi,
>> > >> > > > > > >> > > > > > > > > >
>> > >> > > > > > >> > > > > > > > > > Is there any way to start
>> qpid-java-0.28
>> > >> > broker
>> > >> > > > > using
>> > >> > > > > > >> > > > .properties
>> > >> > > > > > >> > > > > > > file
>> > >> > > > > > >> > > > > > > > or
>> > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json
>> file?
>> > >> or
>> > >> > > what
>> > >> > > > > are
>> > >> > > > > > >> the
>> > >> > > > > > >> > > other
>> > >> > > > > > >> > > > > > ways
>> > >> > > > > > >> > > > > > > to
>> > >> > > > > > >> > > > > > > > > > pass override properties instead of
>> JSON
>> > >> > config
>> > >> > > > > file?
>> > >> > > > > > >> > > > > > > > > >
>> > >> > > > > > >> > > > > > > > > >
>> > >> > > > > > >> > > > > > > > > > Thanks,
>> > >> > > > > > >> > > > > > > > > > Ram
>> > >> > > > > > >> > > > > > > > > >
>> > >> > > > > > >> > > > > > > > >
>> > >> > > > > > >> > > > > > > >
>> > >> > > > > > >> > > > > > >
>> > >> > > > > > >> > > > > >
>> > >> > > > > > >> > > > >
>> > >> > > > > > >> > > >
>> > >> > > > > > >> > >
>> > >> > > > > > >> >
>> > >> > > > > > >>
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Thanks Rob, it worked by adding this to bin/qpid-server startup script

QPID_OPTS="$QPID_OPTS *-Dderby.stream.error.file=$DERBY_LOG/derby.log*
-Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=$QPID_LOG_APPEND"


Ram

On Tue, Apr 19, 2016 at 3:16 PM, Rob Godfrey <ro...@gmail.com>
wrote:

> On 19 April 2016 at 22:44, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > I know you recommended to use v6 but i cant deploy it to prod right now
> so
> > can you please share how do i redirect derby.log file to specified
> > directory other then `pwd`? in v0.28 derby.log file is getting created
> from
> > the dir where you start the processes but i wanted to send it to
> > /var/log/qpidd/derby.log, is there any environment variable that i can
> > pass?
> >
> > Thanks,
> > Ram
> >
> >
> In 0.28 that log file is completely determined by Derby itself (in v6 we
> get Derby to log into the standard Qpid log file so this wouldn't be an
> issue).
>
> I believe Derby defines properties to allow you to set the file logged to:
>
> http://db.apache.org/derby/docs/10.8/ref/rrefproper18151.html
>
> and you can set this as a java system property:
> https://db.apache.org/derby/docs/10.8/devguide/cdevsetprop11561.html
>
> As above, when you migrate to v6.0 or later the derby.log file is no longer
> created - all logs are consolidated into the qpid log.
>
> -- Rob
>
>
> > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> > rammohanganap@gmail.com> wrote:
> >
> > > Hi Rob,
> > >
> > > I did not get chance to try v6, i will try and let you know.
> > >
> > > Ram
> > >
> > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > wrote:
> > >
> > >> Hi Ram,
> > >>
> > >> have you got v6 working now?  The memory settings for the broker
> depend
> > >> upon which version you are using.  For version 6 there is a
> > comprehensive
> > >> discussion on memory allocation settings in the manual:
> > >>
> > >>
> >
> https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html
> > >>
> > >> Versions prior to v6 use memory (and threads) very differently.
> > >>
> > >> Hope this helps,
> > >> Rob
> > >>
> > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > >> >
> > >> wrote:
> > >>
> > >> > Rob,
> > >> >
> > >> > One more question in the same context, what are the recommended JVM
> > >> > settings for java broker? i am using default "-Xmx1024m" its working
> > >> fine
> > >> > but i wanted to follow the best practices. Please advice.
> > >> >
> > >> >
> > >> > Thanks,
> > >> > Ram
> > >> >
> > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com
> > >
> > >> > wrote:
> > >> >
> > >> > > Hi Ram,
> > >> > >
> > >> > > Apologies, I've been having a few issues with my internet
> provider.
> > >> > >
> > >> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> > >> > > configuring (through the UI) that to use ANONYMOUS, and then check
> > >> your
> > >> > > client can connect.
> > >> > >
> > >> > > This is what I did, and it works fine for me.
> > >> > >
> > >> > > For the rest of your requirements (like setting the log file
> > location,
> > >> > > etc.) you really want to be using version 6 or later.
> > >> > >
> > >> > > Cheers,
> > >> > > Rob
> > >> > >
> > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> > >> > rammohanganap@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > Rob,
> > >> > > >
> > >> > > > I have tried with virtualhost config that you have provided but
> i
> > am
> > >> > > still
> > >> > > > getting connection error. I would like to make it work with 6.0*
> > >> > version
> > >> > > > but at this point i need 0.28 version to make working, so if you
> > can
> > >> > help
> > >> > > > me to configure log location in 0.28 that would unblock me for
> > now.
> > >> > > >
> > >> > > > Thanks,
> > >> > > > Ram
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> > : 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> in
> > >> > common.
> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> to
> > :
> > >> > PLAIN
> > >> > > > username=guest
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> null
> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > >> > > c.a.a.q.QueueBuilder -
> > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > >> > > c.a.a.q.QueueBuilder -
> > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> > : 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > Not Connected. error Unknown virtualhost '' username=null
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> > : 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> in
> > >> > common.
> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> to
> > :
> > >> > PLAIN
> > >> > > > username=guest
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> null
> > >> > > >
> > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> > >> rob.j.godfrey@gmail.com>
> > >> > > > wrote:
> > >> > > >
> > >> > > > > Hi Ram,
> > >> > > > >
> > >> > > > > in 6.0.x the log file location can be changed directly through
> > the
> > >> > > config
> > >> > > > > json - I really think we should first concentrate on getting
> > that
> > >> > > working
> > >> > > > > for you.
> > >> > > > >
> > >> > > > > I've verified that using the 6.0.x client and broker with a
> URL
> > >> > similar
> > >> > > > to
> > >> > > > > the one in your log file works for ANONYMOUS.
> > >> > > > >
> > >> > > > > Looking at your error output again I notice that there seem
> > >> actually
> > >> > to
> > >> > > > be
> > >> > > > > two connection attempts, the first ends with:
> > >> > > > >
> > >> > > > > error Unknown virtualhost '' username=null
> > >> > > > >
> > >> > > > > Then we see the second failure with the "PLAIN" error.  That
> > first
> > >> > > error
> > >> > > > > indicate that ANONYMOUS log in was actually successful,
> however
> > >> you
> > >> > > were
> > >> > > > > the running into the fact that no virtualhost is mapped to the
> > >> empty
> > >> > > > > string.  That suggests to me that you don't have any
> > >> > virtualhostaliases
> > >> > > > > defined in your (AMQP) port config. I'd suggest that it would
> > make
> > >> > > sense
> > >> > > > to
> > >> > > > > craft an initial config based on the default initial config
> for
> > >> 6.0.x
> > >> > > > which
> > >> > > > > will include a virtualhostaliases section in the AMQP port
> which
> > >> > looks
> > >> > > > > like:
> > >> > > > >
> > >> > > > > "virtualhostaliases" : [ {
> > >> > > > >    "name" : "nameAlias",
> > >> > > > >    "type" : "nameAlias"
> > >> > > > > }, {
> > >> > > > >     "name" : "defaultAlias",
> > >> > > > >     "type" : "defaultAlias"
> > >> > > > > }, {
> > >> > > > >     "name" : "hostnameAlias",
> > >> > > > >     "type" : "hostnameAlias"
> > >> > > > > } ]
> > >> > > > >
> > >> > > > >
> > >> > > > > Let me know if this works for you, then we can look at some of
> > >> your
> > >> > > other
> > >> > > > > questions.
> > >> > > > >
> > >> > > > > -- Rob
> > >> > > > >
> > >> > > > >
> > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > >> > > rammohanganap@gmail.com
> > >> > > > >
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > > > Rob,
> > >> > > > > >
> > >> > > > > > Also how do i pass logfile location as -prop as commandline
> > >> > argument?
> > >> > > > or
> > >> > > > > > how do i change default log file location i know we can
> update
> > >> > > > log4j.xml
> > >> > > > > > but is there any other way?
> > >> > > > > >
> > >> > > > > > Ram
> > >> > > > > >
> > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > >> > > > > > rammohanganap@gmail.com> wrote:
> > >> > > > > >
> > >> > > > > > > Rob,
> > >> > > > > > >
> > >> > > > > > > I tried passing properties file as argument but it didnt
> > like
> > >> it.
> > >> > > > Does
> > >> > > > > it
> > >> > > > > > > support in 0.28v?
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > >> > > > > > ../etc/qpidd.properties
> > >> > > > > > >
> > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > >> > -DQPID_LOG_APPEND=
> > >> > > > > > > Using QPID_CLASSPATH
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > >> > > > > -XX:+UseConcMarkSweepGC
> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > -Xmx1024m
> > >> > > > > > > Exception during startup:
> > java.lang.IllegalArgumentException:
> > >> > > > > > > Configuration property argument is not of the format
> > >> name=value:
> > >> > > > > > > ../etc/qpidd.properties
> > >> > > > > > > java.lang.IllegalArgumentException: Configuration property
> > >> > argument
> > >> > > > is
> > >> > > > > > not
> > >> > > > > > > of the format name=value: ../etc/qpidd.properties
> > >> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > >> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > >> > > > > > > ../etc/qpidd.properties
> > >> > > > > > >
> > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > >> > -DQPID_LOG_APPEND=
> > >> > > > > > > Using QPID_CLASSPATH
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > >> > > > > -XX:+UseConcMarkSweepGC
> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > -Xmx1024m
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > *Error: Unrecognized option: -props*
> > >> > > > > > > How do i change this block from initial configuration to
> use
> > >> > > > Anonymous?
> > >> > > > > > >
> > >> > > > > > > {
> > >> > > > > > >   "name": "Broker",
> > >> > > > > > >   "storeVersion": 1,
> > >> > > > > > >   "modelVersion": "1.2",
> > >> > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > >     "name" : "passwordFile",
> > >> > > > > > >     "type" : "PlainPasswordFile",
> > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > >> > > > > > >     "preferencesproviders" : [{
> > >> > > > > > >         "name": "fileSystemPreferences",
> > >> > > > > > >         "type": "FileSystemPreferences",
> > >> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > >> > > > > > >     }]
> > >> > > > > > >   } ],
> > >> > > > > > >
> > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > >> > > > rob.j.godfrey@gmail.com>
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > >> Hi Ram,
> > >> > > > > > >>
> > >> > > > > > >> so one approach to this would be to define you
> > authentication
> > >> > > > > providers
> > >> > > > > > up
> > >> > > > > > >> from in your config file, so you have an an Anonymous
> > >> provider
> > >> > > named
> > >> > > > > > >> "anonymous" and a password file provider named
> > >> "passwordFile" or
> > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
> > etc)
> > >> you
> > >> > > can
> > >> > > > > > >> parameterise the value they have for the name of the auth
> > >> > provider
> > >> > > > > they
> > >> > > > > > >> are
> > >> > > > > > >> using.  So your initial JSON config file could contain
> > >> something
> > >> > > > like:
> > >> > > > > > >>
> > >> > > > > > >> "ports" : [  {
> > >> > > > > > >>   "name" : "AMQP",
> > >> > > > > > >>   "port" : "${qpid.amqp_port}",
> > >> > > > > > >>   "authenticationProvider" :
> > >> > > > > "${qpid.amqp_port_authenticationProvider}",
> > >> > > > > > >>
> > >> > > > > > >>
> > >> > > > > > >> and then you could override which provider to use at
> > runtime
> > >> by
> > >> > > > > setting
> > >> > > > > > >> the
> > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> anonymous
> > >> or
> > >> > > > > > >> passwordFile
> > >> > > > > > >> (or the name of any other authentication provider that is
> > >> > defined
> > >> > > in
> > >> > > > > > your
> > >> > > > > > >> JSON config.
> > >> > > > > > >>
> > >> > > > > > >> The only thing you can't do with properties is to add new
> > >> > entities
> > >> > > > > into
> > >> > > > > > >> the
> > >> > > > > > >> config - that you have to do either by editing the file,
> or
> > >> by
> > >> > > using
> > >> > > > > the
> > >> > > > > > >> REST api to modify the broker configuration while it is
> > >> running.
> > >> > > > > > >>
> > >> > > > > > >> Hope this helps,
> > >> > > > > > >> Rob
> > >> > > > > > >>
> > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > >> > > > > > rammohanganap@gmail.com>
> > >> > > > > > >> wrote:
> > >> > > > > > >>
> > >> > > > > > >> > Rob,
> > >> > > > > > >> >
> > >> > > > > > >> > Thanks for detailed explanation, i wanted to restart
> with
> > >> the
> > >> > > > > changed
> > >> > > > > > >> > properties if any for example today i have Anonymous
> SASL
> > >> and
> > >> > > > later
> > >> > > > > i
> > >> > > > > > >> may
> > >> > > > > > >> > want to use password file. How do i pass SASL mechanism
> > as
> > >> > > -prop?
> > >> > > > > > >> >
> > >> > > > > > >> > Thanks,
> > >> > > > > > >> > Ram
> > >> > > > > > >> >
> > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > >> > > > > rob.j.godfrey@gmail.com>
> > >> > > > > > >> > wrote:
> > >> > > > > > >> >
> > >> > > > > > >> > > Hi Ram,
> > >> > > > > > >> > >
> > >> > > > > > >> > > The initial config file is only used when there is no
> > >> broker
> > >> > > > > config
> > >> > > > > > -
> > >> > > > > > >> the
> > >> > > > > > >> > > idea is that it is used to populate the broker config
> > on
> > >> > first
> > >> > > > > > >> startup.
> > >> > > > > > >> > > Once there is a broker config file then this is used
> > >> (since
> > >> > it
> > >> > > > may
> > >> > > > > > >> have
> > >> > > > > > >> > > been updated by creating or modifying entities
> through
> > >> the
> > >> > > > > > management
> > >> > > > > > >> > > functions).  The broker ships with a default initial
> > >> config
> > >> > > > which
> > >> > > > > is
> > >> > > > > > >> > > contained within its jar files, however we allow
> people
> > >> to
> > >> > > > provide
> > >> > > > > > >> there
> > >> > > > > > >> > > own.  Records in the config file a copied verbatim
> into
> > >> the
> > >> > > > config
> > >> > > > > > >> store
> > >> > > > > > >> > -
> > >> > > > > > >> > > the only difference being that ids are generated for
> > each
> > >> > > > entity.
> > >> > > > > > The
> > >> > > > > > >> > > interpolation from property names to values is done
> > each
> > >> > time
> > >> > > > the
> > >> > > > > > >> broker
> > >> > > > > > >> > > reads the config.  If the broker finds there is
> config
> > in
> > >> > the
> > >> > > > > store
> > >> > > > > > >> path
> > >> > > > > > >> > > then it completely ignores the initial config - it
> does
> > >> not
> > >> > > > > examine
> > >> > > > > > >> any
> > >> > > > > > >> > > differences.
> > >> > > > > > >> > >
> > >> > > > > > >> > > Are you looking to start a completely fresh broker
> each
> > >> > time,
> > >> > > or
> > >> > > > > > >> merely
> > >> > > > > > >> > to
> > >> > > > > > >> > > be able to change certain properties (such as port
> > >> numbers)
> > >> > on
> > >> > > > > each
> > >> > > > > > >> > > restart?  If you do not want to retain any changes to
> > the
> > >> > > broker
> > >> > > > > > >> > > configuration made while the broker is actually
> > running,
> > >> > then
> > >> > > > you
> > >> > > > > > >> could
> > >> > > > > > >> > use
> > >> > > > > > >> > > a "memory" config store rather than a Json one.  If
> you
> > >> want
> > >> > > to
> > >> > > > > > retain
> > >> > > > > > >> > any
> > >> > > > > > >> > > changes made through management, but desire the
> ability
> > >> to
> > >> > > > change
> > >> > > > > > >> certain
> > >> > > > > > >> > > properties (like ports) on each startup, then you
> don't
> > >> need
> > >> > > to
> > >> > > > > > worry
> > >> > > > > > >> > about
> > >> > > > > > >> > > the fact that the initial configuration is only
> loaded
> > >> the
> > >> > > first
> > >> > > > > > time
> > >> > > > > > >> -
> > >> > > > > > >> > you
> > >> > > > > > >> > > just need to pass in the property values you want on
> > >> > startup.
> > >> > > > > > >> > >
> > >> > > > > > >> > > In terms of an example system properties file...  The
> > >> > default
> > >> > > > > > >> > > initial-config.json defines the amqp port to be
> > >> > > > ${qpid.amqp_port}
> > >> > > > > > and
> > >> > > > > > >> the
> > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
> create a
> > >> > > > properties
> > >> > > > > > >> file
> > >> > > > > > >> > > called rob.properties which contains
> > >> > > > > > >> > >
> > >> > > > > > >> > > qpid.http_port=8888
> > >> > > > > > >> > > qpid.amqp_port=5555
> > >> > > > > > >> > >
> > >> > > > > > >> > > and then run qpid with the argument -props
> > rob.properties
> > >> > > then I
> > >> > > > > > >> get...
> > >> > > > > > >> > >
> > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port
> > 5555
> > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on
> TCP
> > >> port
> > >> > > 8888
> > >> > > > > > >> > >
> > >> > > > > > >> > >
> > >> > > > > > >> > > So, when you use your initial or stored config you
> just
> > >> need
> > >> > > to
> > >> > > > > > ensure
> > >> > > > > > >> > all
> > >> > > > > > >> > > the variables you use in your config are set in your
> > >> > > properties
> > >> > > > > file
> > >> > > > > > >> > (some
> > >> > > > > > >> > > properties have defaults within the code if they are
> > not
> > >> > > > otherwise
> > >> > > > > > >> set -
> > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not
> > set
> > >> > > > > > elsewhere).
> > >> > > > > > >> > >
> > >> > > > > > >> > > Hope this helps,
> > >> > > > > > >> > > Rob
> > >> > > > > > >> > >
> > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > >> > > > > > >> rammohanganap@gmail.com
> > >> > > > > > >> > >
> > >> > > > > > >> > > wrote:
> > >> > > > > > >> > >
> > >> > > > > > >> > > > Rob,
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so
> what
> > >> if i
> > >> > > > have
> > >> > > > > > >> updated
> > >> > > > > > >> > > icp
> > >> > > > > > >> > > > with some property change  and restarted broker
> with
> > >> icp
> > >> > > > (every
> > >> > > > > > >> time i
> > >> > > > > > >> > > > restart broker i am using initial config
> > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
> > its
> > >> is
> > >> > > > right
> > >> > > > > > way
> > >> > > > > > >> or
> > >> > > > > > >> > > > not), does it automatically update config file in
> > -sp?
> > >> i
> > >> > my
> > >> > > > case
> > >> > > > > > it
> > >> > > > > > >> did
> > >> > > > > > >> > > not
> > >> > > > > > >> > > > updated the config file in store-path upon restart.
> > >> What
> > >> > > will
> > >> > > > > > >> happened
> > >> > > > > > >> > > if i
> > >> > > > > > >> > > > have differences in initial config file that i use
> to
> > >> > start
> > >> > > > > broker
> > >> > > > > > >> and
> > >> > > > > > >> > > the
> > >> > > > > > >> > > > config file under store-path?
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > Thanks,
> > >> > > > > > >> > > > Ram
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > >> > > > > > >> rob.j.godfrey@gmail.com>
> > >> > > > > > >> > > > wrote:
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > > This looks like a client error to me... the line
> > >> which
> > >> > > says:
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > Out of interest what happens if you remove the
> > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> > >> > > > > > >> > > > from
> > >> > > > > > >> > > > > your connection URL?  Without any sort of
> > restriction
> > >> > I'd
> > >> > > > > expect
> > >> > > > > > >> the
> > >> > > > > > >> > > > client
> > >> > > > > > >> > > > > to do the right thing.
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )...
> I'll
> > >> have
> > >> > > > deeper
> > >> > > > > > >> look
> > >> > > > > > >> > in
> > >> > > > > > >> > > > the
> > >> > > > > > >> > > > > morning.
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > -- Rob
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > >> > > > > > >> > > rammohanganap@gmail.com
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > wrote:
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > > Rob,
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > thanks for the explanation, do you have a
> sample
> > >> > > > > > >> > > > > --system-properties-file?
> > >> > > > > > >> > > > > > that i can take a look?
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> > >> throwing
> > >> > > this
> > >> > > > > > >> error, i
> > >> > > > > > >> > > am
> > >> > > > > > >> > > > > not
> > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
> > change
> > >> > the
> > >> > > > > > existing
> > >> > > > > > >> > code
> > >> > > > > > >> > > > but
> > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
> error
> > i
> > >> am
> > >> > > > > getting
> > >> > > > > > >> with
> > >> > > > > > >> > > > > 6.0.1v..
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> > >> > > > > > >> > > > > >
> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > >> > > > > > ERROR
> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > >> > ConnectionImpl.openConnection() :
> > >> > > > > Error
> > >> > > > > > >> > > > connecting
> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> > >> > > > > > >> > > > > >
> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > >> > > > > > ERROR
> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > >> > ConnectionImpl.openConnection() :
> > >> > > > > Error
> > >> > > > > > >> > > > connecting
> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > >> > > > > > error Client and broker have no SASL mechanisms
> > in
> > >> > > common.
> > >> > > > > > >> Broker
> > >> > > > > > >> > > > allows
> > >> > > > > > >> > > > > :
> > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > > > >> > CRAM-MD5,
> > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> > >> itself
> > >> > to
> > >> > > :
> > >> > > > > > PLAIN
> > >> > > > > > >> > > > > > username=guest
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > And here is my sasl mechanism.
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> > >> > > > > > >> > > > > > {
> > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
> > >> 6.0.1
> > >> > is
> > >> > > > not
> > >> > > > > > >> > working.
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Thanks,
> > >> > > > > > >> > > > > > Ram
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > >> > > > > > >> > rob.j.godfrey@gmail.com
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > > > wrote:
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> > ganapavarapu <
> > >> > > > > > >> > > > > rammohanganap@gmail.com
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > wrote:
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > Rob,
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> > >> > authentication?
> > >> > > > last
> > >> > > > > > >> time
> > >> > > > > > >> > > when
> > >> > > > > > >> > > > i
> > >> > > > > > >> > > > > > try
> > >> > > > > > >> > > > > > > to
> > >> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> > protocol
> > >> > are
> > >> > > > you
> > >> > > > > > >> using
> > >> > > > > > >> > > > (0-9-1,
> > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
> Anonymous
> > >> > should
> > >> > > > work
> > >> > > > > > on
> > >> > > > > > >> > 0.32
> > >> > > > > > >> > > > > > however
> > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer
> at
> > >> all"
> > >> > > > > option
> > >> > > > > > >> for
> > >> > > > > > >> > > AMQP
> > >> > > > > > >> > > > > 1.0
> > >> > > > > > >> > > > > > > probably didn't work (this is different to an
> > >> > > > > authentication
> > >> > > > > > >> > layer
> > >> > > > > > >> > > > > which
> > >> > > > > > >> > > > > > > allows anonymous).
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
> email, i
> > >> was
> > >> > > > taking
> > >> > > > > > >> about
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > > file not broker storage format, the use
> case
> > is
> > >> > if i
> > >> > > > > > wanted
> > >> > > > > > >> to
> > >> > > > > > >> > > > > override
> > >> > > > > > >> > > > > > > > some of these properties and i have my own
> > >> custom
> > >> > > > > > >> tool/script
> > >> > > > > > >> > > that
> > >> > > > > > >> > > > > > goes
> > >> > > > > > >> > > > > > > > through the properties files and replace
> with
> > >> the
> > >> > > > > > override i
> > >> > > > > > >> > > > defined,
> > >> > > > > > >> > > > > > so
> > >> > > > > > >> > > > > > > i
> > >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
> > >> config
> > >> > as
> > >> > > > > well.
> > >> > > > > > My
> > >> > > > > > >> > tool
> > >> > > > > > >> > > > > only
> > >> > > > > > >> > > > > > > > support key:value but if we have json array
> > it
> > >> > wont
> > >> > > > > work.
> > >> > > > > > So
> > >> > > > > > >> > if i
> > >> > > > > > >> > > > > want
> > >> > > > > > >> > > > > > to
> > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> > >> arguments
> > >> > > what
> > >> > > > > are
> > >> > > > > > >> the
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > > that java qpid support as command line?
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Below if my config, is it possible to pass
> > all
> > >> > these
> > >> > > > as
> > >> > > > > > >> command
> > >> > > > > > >> > > > line
> > >> > > > > > >> > > > > > > > arguments?
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > {
> > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > >> > > > > > > >   "id" :
> > >> "c433a66c-e6dc-4c48-be01-268295f580bc",
> > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > >> > > > > > >> > > > > > > >   "name" : "Broker",
> > >> > > > > > >> > > > > > > >   "plugins" : [ {
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "ports" : [ {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "99e13356-080a-4abe-852e-8c452149cdae",
> > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > >> > > > > > >> > > > > > > >     "port" : "9099",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "12813407-62ae-429f-8bee-75802f3b6553",
> > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > >> > > > > > >> > > > > > > >     "port" : "8999",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "3b107675-edd7-40a3-86c2-3113b46157f9",
> > >> > > > > > >> > > > > > > >     "name" : "AMQP",
> > >> > > > > > >> > > > > > > >     "port" : "5672"
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > >> > > > > > >> > > > > > > >     "name" : "HTTP",
> > >> > > > > > >> > > > > > > >     "port" : "10001",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > >> > > > > > >> > > > > > > >     "id" :
> > >> "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > >> > > > > > >> > > > > > > >     "name" : "default",
> > >> > > > > > >> > > > > > > >     "storePath" :
> "/ebs//derbystore/default",
> > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> > >> > > > > > >> > > > > > > >   } ]
> > >> > > > > > >> > > > > > > > }
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
> > >> with a
> > >> > > > > > reference
> > >> > > > > > >> to
> > >> > > > > > >> > a
> > >> > > > > > >> > > > > > > property, for example
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > "name" : "${myPortName}",
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > this will then interpolate the value from the
> > >> > > property,
> > >> > > > so
> > >> > > > > > if
> > >> > > > > > >> you
> > >> > > > > > >> > > set
> > >> > > > > > >> > > > > the
> > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will
> be
> > >> the
> > >> > > value
> > >> > > > > > used.
> > >> > > > > > >> > > Type
> > >> > > > > > >> > > > > > > conversions will be performed, so if the
> > required
> > >> > > value
> > >> > > > is
> > >> > > > > > an
> > >> > > > > > >> > > integer
> > >> > > > > > >> > > > > it
> > >> > > > > > >> > > > > > > will convert to an integer.  If the value
> > >> required
> > >> > is
> > >> > > a
> > >> > > > > list
> > >> > > > > > >> then
> > >> > > > > > >> > > you
> > >> > > > > > >> > > > > can
> > >> > > > > > >> > > > > > > use a String representation of a list in Json
> > >> > format.
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > You can set the properties individually, or
> you
> > >> can
> > >> > > pass
> > >> > > > > in
> > >> > > > > > a
> > >> > > > > > >> > > > > properties
> > >> > > > > > >> > > > > > > file using -props or --system-properties-file
> > >> (so if
> > >> > > you
> > >> > > > > > have
> > >> > > > > > >> a
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > file already maybe you can just pass this
> in).
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > One more question or may be clarification
> is,
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
> > file
> > >> > that
> > >> > > > will
> > >> > > > > > >> > > generated
> > >> > > > > > >> > > > by
> > >> > > > > > >> > > > > > > qpidd
> > >> > > > > > >> > > > > > > > from the initial config right? what is the
> > use
> > >> of
> > >> > > > > > >> store-path?*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > That is correct.  Some people just like to
> have
> > >> > config
> > >> > > > > files
> > >> > > > > > >> in a
> > >> > > > > > >> > > > > > > non-default location :-)
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > Hope this helps,
> > >> > > > > > >> > > > > > > Rob
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > *Thanks,*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > *Ram*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
> Godfrey <
> > >> > > > > > >> > > > rob.j.godfrey@gmail.com
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > > > wrote:
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> > >> > recommend
> > >> > > > > > >> updating
> > >> > > > > > >> > to
> > >> > > > > > >> > > > > v6.0.1
> > >> > > > > > >> > > > > > > if
> > >> > > > > > >> > > > > > > > > you can.
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> > >> > question -
> > >> > > > are
> > >> > > > > > you
> > >> > > > > > >> > > asking
> > >> > > > > > >> > > > > > about
> > >> > > > > > >> > > > > > > > > overriding particular properties, or the
> > >> storage
> > >> > > > > format
> > >> > > > > > >> for
> > >> > > > > > >> > the
> > >> > > > > > >> > > > > > broker
> > >> > > > > > >> > > > > > > > > configuration - these are two different
> > >> things.
> > >> > > In
> > >> > > > > > terms
> > >> > > > > > >> of
> > >> > > > > > >> > > > > > > properties /
> > >> > > > > > >> > > > > > > > > context overrides this can be specified
> > >> using a
> > >> > > > > > properties
> > >> > > > > > >> > file
> > >> > > > > > >> > > > (at
> > >> > > > > > >> > > > > > > least
> > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
> > >> 0.28).
> > >> > > In
> > >> > > > > > >> terms of
> > >> > > > > > >> > > the
> > >> > > > > > >> > > > > > > > > configuration, JSON is currently the only
> > >> text
> > >> > > based
> > >> > > > > > >> format
> > >> > > > > > >> > > > > > supported.
> > >> > > > > > >> > > > > > > > You
> > >> > > > > > >> > > > > > > > > can use a database for the broker config
> > >> > storage,
> > >> > > > > there
> > >> > > > > > >> are
> > >> > > > > > >> > > built
> > >> > > > > > >> > > > > in
> > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> > generic
> > >> > JDBC
> > >> > > > > > config
> > >> > > > > > >> > > stores.
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > May I ask what advantage you would get by
> > >> using
> > >> > > YAML
> > >> > > > > or
> > >> > > > > > >> > > > properties
> > >> > > > > > >> > > > > > > files
> > >> > > > > > >> > > > > > > > > instead of JSON?
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > -- Rob
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> > >> ganapavarapu
> > >> > <
> > >> > > > > > >> > > > > > > rammohanganap@gmail.com
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > wrote:
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Hi,
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Is there any way to start
> qpid-java-0.28
> > >> > broker
> > >> > > > > using
> > >> > > > > > >> > > > .properties
> > >> > > > > > >> > > > > > > file
> > >> > > > > > >> > > > > > > > or
> > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json
> file?
> > >> or
> > >> > > what
> > >> > > > > are
> > >> > > > > > >> the
> > >> > > > > > >> > > other
> > >> > > > > > >> > > > > > ways
> > >> > > > > > >> > > > > > > to
> > >> > > > > > >> > > > > > > > > > pass override properties instead of
> JSON
> > >> > config
> > >> > > > > file?
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Thanks,
> > >> > > > > > >> > > > > > > > > > Ram
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
On 19 April 2016 at 22:44, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> I know you recommended to use v6 but i cant deploy it to prod right now so
> can you please share how do i redirect derby.log file to specified
> directory other then `pwd`? in v0.28 derby.log file is getting created from
> the dir where you start the processes but i wanted to send it to
> /var/log/qpidd/derby.log, is there any environment variable that i can
> pass?
>
> Thanks,
> Ram
>
>
In 0.28 that log file is completely determined by Derby itself (in v6 we
get Derby to log into the standard Qpid log file so this wouldn't be an
issue).

I believe Derby defines properties to allow you to set the file logged to:

http://db.apache.org/derby/docs/10.8/ref/rrefproper18151.html

and you can set this as a java system property:
https://db.apache.org/derby/docs/10.8/devguide/cdevsetprop11561.html

As above, when you migrate to v6.0 or later the derby.log file is no longer
created - all logs are consolidated into the qpid log.

-- Rob


> On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
> > Hi Rob,
> >
> > I did not get chance to try v6, i will try and let you know.
> >
> > Ram
> >
> > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> >> Hi Ram,
> >>
> >> have you got v6 working now?  The memory settings for the broker depend
> >> upon which version you are using.  For version 6 there is a
> comprehensive
> >> discussion on memory allocation settings in the manual:
> >>
> >>
> https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html
> >>
> >> Versions prior to v6 use memory (and threads) very differently.
> >>
> >> Hope this helps,
> >> Rob
> >>
> >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> rammohanganap@gmail.com
> >> >
> >> wrote:
> >>
> >> > Rob,
> >> >
> >> > One more question in the same context, what are the recommended JVM
> >> > settings for java broker? i am using default "-Xmx1024m" its working
> >> fine
> >> > but i wanted to follow the best practices. Please advice.
> >> >
> >> >
> >> > Thanks,
> >> > Ram
> >> >
> >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> >> > wrote:
> >> >
> >> > > Hi Ram,
> >> > >
> >> > > Apologies, I've been having a few issues with my internet provider.
> >> > >
> >> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> >> > > configuring (through the UI) that to use ANONYMOUS, and then check
> >> your
> >> > > client can connect.
> >> > >
> >> > > This is what I did, and it works fine for me.
> >> > >
> >> > > For the rest of your requirements (like setting the log file
> location,
> >> > > etc.) you really want to be using version 6 or later.
> >> > >
> >> > > Cheers,
> >> > > Rob
> >> > >
> >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> >> > rammohanganap@gmail.com>
> >> > > wrote:
> >> > >
> >> > > > Rob,
> >> > > >
> >> > > > I have tried with virtualhost config that you have provided but i
> am
> >> > > still
> >> > > > getting connection error. I would like to make it work with 6.0*
> >> > version
> >> > > > but at this point i need 0.28 version to make working, so if you
> can
> >> > help
> >> > > > me to configure log location in 0.28 that would unblock me for
> now.
> >> > > >
> >> > > > Thanks,
> >> > > > Ram
> >> > > >
> >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> : 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to
> :
> >> > PLAIN
> >> > > > username=guest
> >> > > >
> >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > c.a.a.q.QueueBuilder -
> >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> >> > > >
> >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> >> > > c.a.a.q.QueueBuilder -
> >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> >> > > >
> >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> : 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > Not Connected. error Unknown virtualhost '' username=null
> >> > > >
> >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> : 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to
> :
> >> > PLAIN
> >> > > > username=guest
> >> > > >
> >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> >> > > >
> >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> >> rob.j.godfrey@gmail.com>
> >> > > > wrote:
> >> > > >
> >> > > > > Hi Ram,
> >> > > > >
> >> > > > > in 6.0.x the log file location can be changed directly through
> the
> >> > > config
> >> > > > > json - I really think we should first concentrate on getting
> that
> >> > > working
> >> > > > > for you.
> >> > > > >
> >> > > > > I've verified that using the 6.0.x client and broker with a URL
> >> > similar
> >> > > > to
> >> > > > > the one in your log file works for ANONYMOUS.
> >> > > > >
> >> > > > > Looking at your error output again I notice that there seem
> >> actually
> >> > to
> >> > > > be
> >> > > > > two connection attempts, the first ends with:
> >> > > > >
> >> > > > > error Unknown virtualhost '' username=null
> >> > > > >
> >> > > > > Then we see the second failure with the "PLAIN" error.  That
> first
> >> > > error
> >> > > > > indicate that ANONYMOUS log in was actually successful, however
> >> you
> >> > > were
> >> > > > > the running into the fact that no virtualhost is mapped to the
> >> empty
> >> > > > > string.  That suggests to me that you don't have any
> >> > virtualhostaliases
> >> > > > > defined in your (AMQP) port config. I'd suggest that it would
> make
> >> > > sense
> >> > > > to
> >> > > > > craft an initial config based on the default initial config for
> >> 6.0.x
> >> > > > which
> >> > > > > will include a virtualhostaliases section in the AMQP port which
> >> > looks
> >> > > > > like:
> >> > > > >
> >> > > > > "virtualhostaliases" : [ {
> >> > > > >    "name" : "nameAlias",
> >> > > > >    "type" : "nameAlias"
> >> > > > > }, {
> >> > > > >     "name" : "defaultAlias",
> >> > > > >     "type" : "defaultAlias"
> >> > > > > }, {
> >> > > > >     "name" : "hostnameAlias",
> >> > > > >     "type" : "hostnameAlias"
> >> > > > > } ]
> >> > > > >
> >> > > > >
> >> > > > > Let me know if this works for you, then we can look at some of
> >> your
> >> > > other
> >> > > > > questions.
> >> > > > >
> >> > > > > -- Rob
> >> > > > >
> >> > > > >
> >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> >> > > rammohanganap@gmail.com
> >> > > > >
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Rob,
> >> > > > > >
> >> > > > > > Also how do i pass logfile location as -prop as commandline
> >> > argument?
> >> > > > or
> >> > > > > > how do i change default log file location i know we can update
> >> > > > log4j.xml
> >> > > > > > but is there any other way?
> >> > > > > >
> >> > > > > > Ram
> >> > > > > >
> >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> >> > > > > > rammohanganap@gmail.com> wrote:
> >> > > > > >
> >> > > > > > > Rob,
> >> > > > > > >
> >> > > > > > > I tried passing properties file as argument but it didnt
> like
> >> it.
> >> > > > Does
> >> > > > > it
> >> > > > > > > support in 0.28v?
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> >> > > > > > ../etc/qpidd.properties
> >> > > > > > >
> >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > -DQPID_LOG_APPEND=
> >> > > > > > > Using QPID_CLASSPATH
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> -Xmx1024m
> >> > > > > > > Exception during startup:
> java.lang.IllegalArgumentException:
> >> > > > > > > Configuration property argument is not of the format
> >> name=value:
> >> > > > > > > ../etc/qpidd.properties
> >> > > > > > > java.lang.IllegalArgumentException: Configuration property
> >> > argument
> >> > > > is
> >> > > > > > not
> >> > > > > > > of the format name=value: ../etc/qpidd.properties
> >> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> >> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> >> > > > > > > ../etc/qpidd.properties
> >> > > > > > >
> >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > -DQPID_LOG_APPEND=
> >> > > > > > > Using QPID_CLASSPATH
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> -Xmx1024m
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > *Error: Unrecognized option: -props*
> >> > > > > > > How do i change this block from initial configuration to use
> >> > > > Anonymous?
> >> > > > > > >
> >> > > > > > > {
> >> > > > > > >   "name": "Broker",
> >> > > > > > >   "storeVersion": 1,
> >> > > > > > >   "modelVersion": "1.2",
> >> > > > > > >   "defaultVirtualHost" : "default",
> >> > > > > > >   "authenticationproviders" : [ {
> >> > > > > > >     "name" : "passwordFile",
> >> > > > > > >     "type" : "PlainPasswordFile",
> >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> >> > > > > > >     "preferencesproviders" : [{
> >> > > > > > >         "name": "fileSystemPreferences",
> >> > > > > > >         "type": "FileSystemPreferences",
> >> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> >> > > > > > >     }]
> >> > > > > > >   } ],
> >> > > > > > >
> >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> >> > > > rob.j.godfrey@gmail.com>
> >> > > > > > > wrote:
> >> > > > > > >
> >> > > > > > >> Hi Ram,
> >> > > > > > >>
> >> > > > > > >> so one approach to this would be to define you
> authentication
> >> > > > > providers
> >> > > > > > up
> >> > > > > > >> from in your config file, so you have an an Anonymous
> >> provider
> >> > > named
> >> > > > > > >> "anonymous" and a password file provider named
> >> "passwordFile" or
> >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
> etc)
> >> you
> >> > > can
> >> > > > > > >> parameterise the value they have for the name of the auth
> >> > provider
> >> > > > > they
> >> > > > > > >> are
> >> > > > > > >> using.  So your initial JSON config file could contain
> >> something
> >> > > > like:
> >> > > > > > >>
> >> > > > > > >> "ports" : [  {
> >> > > > > > >>   "name" : "AMQP",
> >> > > > > > >>   "port" : "${qpid.amqp_port}",
> >> > > > > > >>   "authenticationProvider" :
> >> > > > > "${qpid.amqp_port_authenticationProvider}",
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> and then you could override which provider to use at
> runtime
> >> by
> >> > > > > setting
> >> > > > > > >> the
> >> > > > > > >> property qpid.amqp_port_authenticationProvider to anonymous
> >> or
> >> > > > > > >> passwordFile
> >> > > > > > >> (or the name of any other authentication provider that is
> >> > defined
> >> > > in
> >> > > > > > your
> >> > > > > > >> JSON config.
> >> > > > > > >>
> >> > > > > > >> The only thing you can't do with properties is to add new
> >> > entities
> >> > > > > into
> >> > > > > > >> the
> >> > > > > > >> config - that you have to do either by editing the file, or
> >> by
> >> > > using
> >> > > > > the
> >> > > > > > >> REST api to modify the broker configuration while it is
> >> running.
> >> > > > > > >>
> >> > > > > > >> Hope this helps,
> >> > > > > > >> Rob
> >> > > > > > >>
> >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> >> > > > > > rammohanganap@gmail.com>
> >> > > > > > >> wrote:
> >> > > > > > >>
> >> > > > > > >> > Rob,
> >> > > > > > >> >
> >> > > > > > >> > Thanks for detailed explanation, i wanted to restart with
> >> the
> >> > > > > changed
> >> > > > > > >> > properties if any for example today i have Anonymous SASL
> >> and
> >> > > > later
> >> > > > > i
> >> > > > > > >> may
> >> > > > > > >> > want to use password file. How do i pass SASL mechanism
> as
> >> > > -prop?
> >> > > > > > >> >
> >> > > > > > >> > Thanks,
> >> > > > > > >> > Ram
> >> > > > > > >> >
> >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> >> > > > > rob.j.godfrey@gmail.com>
> >> > > > > > >> > wrote:
> >> > > > > > >> >
> >> > > > > > >> > > Hi Ram,
> >> > > > > > >> > >
> >> > > > > > >> > > The initial config file is only used when there is no
> >> broker
> >> > > > > config
> >> > > > > > -
> >> > > > > > >> the
> >> > > > > > >> > > idea is that it is used to populate the broker config
> on
> >> > first
> >> > > > > > >> startup.
> >> > > > > > >> > > Once there is a broker config file then this is used
> >> (since
> >> > it
> >> > > > may
> >> > > > > > >> have
> >> > > > > > >> > > been updated by creating or modifying entities through
> >> the
> >> > > > > > management
> >> > > > > > >> > > functions).  The broker ships with a default initial
> >> config
> >> > > > which
> >> > > > > is
> >> > > > > > >> > > contained within its jar files, however we allow people
> >> to
> >> > > > provide
> >> > > > > > >> there
> >> > > > > > >> > > own.  Records in the config file a copied verbatim into
> >> the
> >> > > > config
> >> > > > > > >> store
> >> > > > > > >> > -
> >> > > > > > >> > > the only difference being that ids are generated for
> each
> >> > > > entity.
> >> > > > > > The
> >> > > > > > >> > > interpolation from property names to values is done
> each
> >> > time
> >> > > > the
> >> > > > > > >> broker
> >> > > > > > >> > > reads the config.  If the broker finds there is config
> in
> >> > the
> >> > > > > store
> >> > > > > > >> path
> >> > > > > > >> > > then it completely ignores the initial config - it does
> >> not
> >> > > > > examine
> >> > > > > > >> any
> >> > > > > > >> > > differences.
> >> > > > > > >> > >
> >> > > > > > >> > > Are you looking to start a completely fresh broker each
> >> > time,
> >> > > or
> >> > > > > > >> merely
> >> > > > > > >> > to
> >> > > > > > >> > > be able to change certain properties (such as port
> >> numbers)
> >> > on
> >> > > > > each
> >> > > > > > >> > > restart?  If you do not want to retain any changes to
> the
> >> > > broker
> >> > > > > > >> > > configuration made while the broker is actually
> running,
> >> > then
> >> > > > you
> >> > > > > > >> could
> >> > > > > > >> > use
> >> > > > > > >> > > a "memory" config store rather than a Json one.  If you
> >> want
> >> > > to
> >> > > > > > retain
> >> > > > > > >> > any
> >> > > > > > >> > > changes made through management, but desire the ability
> >> to
> >> > > > change
> >> > > > > > >> certain
> >> > > > > > >> > > properties (like ports) on each startup, then you don't
> >> need
> >> > > to
> >> > > > > > worry
> >> > > > > > >> > about
> >> > > > > > >> > > the fact that the initial configuration is only loaded
> >> the
> >> > > first
> >> > > > > > time
> >> > > > > > >> -
> >> > > > > > >> > you
> >> > > > > > >> > > just need to pass in the property values you want on
> >> > startup.
> >> > > > > > >> > >
> >> > > > > > >> > > In terms of an example system properties file...  The
> >> > default
> >> > > > > > >> > > initial-config.json defines the amqp port to be
> >> > > > ${qpid.amqp_port}
> >> > > > > > and
> >> > > > > > >> the
> >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
> >> > > > properties
> >> > > > > > >> file
> >> > > > > > >> > > called rob.properties which contains
> >> > > > > > >> > >
> >> > > > > > >> > > qpid.http_port=8888
> >> > > > > > >> > > qpid.amqp_port=5555
> >> > > > > > >> > >
> >> > > > > > >> > > and then run qpid with the argument -props
> rob.properties
> >> > > then I
> >> > > > > > >> get...
> >> > > > > > >> > >
> >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port
> 5555
> >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP
> >> port
> >> > > 8888
> >> > > > > > >> > >
> >> > > > > > >> > >
> >> > > > > > >> > > So, when you use your initial or stored config you just
> >> need
> >> > > to
> >> > > > > > ensure
> >> > > > > > >> > all
> >> > > > > > >> > > the variables you use in your config are set in your
> >> > > properties
> >> > > > > file
> >> > > > > > >> > (some
> >> > > > > > >> > > properties have defaults within the code if they are
> not
> >> > > > otherwise
> >> > > > > > >> set -
> >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not
> set
> >> > > > > > elsewhere).
> >> > > > > > >> > >
> >> > > > > > >> > > Hope this helps,
> >> > > > > > >> > > Rob
> >> > > > > > >> > >
> >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> >> > > > > > >> rammohanganap@gmail.com
> >> > > > > > >> > >
> >> > > > > > >> > > wrote:
> >> > > > > > >> > >
> >> > > > > > >> > > > Rob,
> >> > > > > > >> > > >
> >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so what
> >> if i
> >> > > > have
> >> > > > > > >> updated
> >> > > > > > >> > > icp
> >> > > > > > >> > > > with some property change  and restarted broker with
> >> icp
> >> > > > (every
> >> > > > > > >> time i
> >> > > > > > >> > > > restart broker i am using initial config
> >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
> its
> >> is
> >> > > > right
> >> > > > > > way
> >> > > > > > >> or
> >> > > > > > >> > > > not), does it automatically update config file in
> -sp?
> >> i
> >> > my
> >> > > > case
> >> > > > > > it
> >> > > > > > >> did
> >> > > > > > >> > > not
> >> > > > > > >> > > > updated the config file in store-path upon restart.
> >> What
> >> > > will
> >> > > > > > >> happened
> >> > > > > > >> > > if i
> >> > > > > > >> > > > have differences in initial config file that i use to
> >> > start
> >> > > > > broker
> >> > > > > > >> and
> >> > > > > > >> > > the
> >> > > > > > >> > > > config file under store-path?
> >> > > > > > >> > > >
> >> > > > > > >> > > > Thanks,
> >> > > > > > >> > > > Ram
> >> > > > > > >> > > >
> >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> >> > > > > > >> rob.j.godfrey@gmail.com>
> >> > > > > > >> > > > wrote:
> >> > > > > > >> > > >
> >> > > > > > >> > > > > This looks like a client error to me... the line
> >> which
> >> > > says:
> >> > > > > > >> > > > >
> >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > Out of interest what happens if you remove the
> >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> >> > > > > > >> > > > from
> >> > > > > > >> > > > > your connection URL?  Without any sort of
> restriction
> >> > I'd
> >> > > > > expect
> >> > > > > > >> the
> >> > > > > > >> > > > client
> >> > > > > > >> > > > > to do the right thing.
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll
> >> have
> >> > > > deeper
> >> > > > > > >> look
> >> > > > > > >> > in
> >> > > > > > >> > > > the
> >> > > > > > >> > > > > morning.
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > -- Rob
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> >> > > > > > >> > > rammohanganap@gmail.com
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > wrote:
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > > Rob,
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > thanks for the explanation, do you have a sample
> >> > > > > > >> > > > > --system-properties-file?
> >> > > > > > >> > > > > > that i can take a look?
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> >> throwing
> >> > > this
> >> > > > > > >> error, i
> >> > > > > > >> > > am
> >> > > > > > >> > > > > not
> >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
> change
> >> > the
> >> > > > > > existing
> >> > > > > > >> > code
> >> > > > > > >> > > > but
> >> > > > > > >> > > > > > wanted to make java qpid work. This is the error
> i
> >> am
> >> > > > > getting
> >> > > > > > >> with
> >> > > > > > >> > > > > 6.0.1v..
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> >> > > > > > >> > > > > >
> >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > > > ERROR
> >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > ConnectionImpl.openConnection() :
> >> > > > > Error
> >> > > > > > >> > > > connecting
> >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> >> > > > > > >> > > > > >
> >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > > > ERROR
> >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > ConnectionImpl.openConnection() :
> >> > > > > Error
> >> > > > > > >> > > > connecting
> >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > > > >> > > > > > error Client and broker have no SASL mechanisms
> in
> >> > > common.
> >> > > > > > >> Broker
> >> > > > > > >> > > > allows
> >> > > > > > >> > > > > :
> >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > > > >> > CRAM-MD5,
> >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> >> itself
> >> > to
> >> > > :
> >> > > > > > PLAIN
> >> > > > > > >> > > > > > username=guest
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > And here is my sasl mechanism.
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> >> > > > > > >> > > > > > {
> >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
> >> 6.0.1
> >> > is
> >> > > > not
> >> > > > > > >> > working.
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Thanks,
> >> > > > > > >> > > > > > Ram
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> >> > > > > > >> > rob.j.godfrey@gmail.com
> >> > > > > > >> > > >
> >> > > > > > >> > > > > > wrote:
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> ganapavarapu <
> >> > > > > > >> > > > > rammohanganap@gmail.com
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > wrote:
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > Rob,
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> >> > authentication?
> >> > > > last
> >> > > > > > >> time
> >> > > > > > >> > > when
> >> > > > > > >> > > > i
> >> > > > > > >> > > > > > try
> >> > > > > > >> > > > > > > to
> >> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> protocol
> >> > are
> >> > > > you
> >> > > > > > >> using
> >> > > > > > >> > > > (0-9-1,
> >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
> >> > should
> >> > > > work
> >> > > > > > on
> >> > > > > > >> > 0.32
> >> > > > > > >> > > > > > however
> >> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer at
> >> all"
> >> > > > > option
> >> > > > > > >> for
> >> > > > > > >> > > AMQP
> >> > > > > > >> > > > > 1.0
> >> > > > > > >> > > > > > > probably didn't work (this is different to an
> >> > > > > authentication
> >> > > > > > >> > layer
> >> > > > > > >> > > > > which
> >> > > > > > >> > > > > > > allows anonymous).
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Sorry i was not clear in my previous email, i
> >> was
> >> > > > taking
> >> > > > > > >> about
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > > file not broker storage format, the use case
> is
> >> > if i
> >> > > > > > wanted
> >> > > > > > >> to
> >> > > > > > >> > > > > override
> >> > > > > > >> > > > > > > > some of these properties and i have my own
> >> custom
> >> > > > > > >> tool/script
> >> > > > > > >> > > that
> >> > > > > > >> > > > > > goes
> >> > > > > > >> > > > > > > > through the properties files and replace with
> >> the
> >> > > > > > override i
> >> > > > > > >> > > > defined,
> >> > > > > > >> > > > > > so
> >> > > > > > >> > > > > > > i
> >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
> >> config
> >> > as
> >> > > > > well.
> >> > > > > > My
> >> > > > > > >> > tool
> >> > > > > > >> > > > > only
> >> > > > > > >> > > > > > > > support key:value but if we have json array
> it
> >> > wont
> >> > > > > work.
> >> > > > > > So
> >> > > > > > >> > if i
> >> > > > > > >> > > > > want
> >> > > > > > >> > > > > > to
> >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> >> arguments
> >> > > what
> >> > > > > are
> >> > > > > > >> the
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > > that java qpid support as command line?
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Below if my config, is it possible to pass
> all
> >> > these
> >> > > > as
> >> > > > > > >> command
> >> > > > > > >> > > > line
> >> > > > > > >> > > > > > > > arguments?
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > {
> >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> >> > > > > > >> > > > > > > >     "id" :
> >> "7050933f-3485-4866-95d2-1f1b258ea3ac",
> >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> >> > > > > > >> > > > > > > >   "id" :
> >> "c433a66c-e6dc-4c48-be01-268295f580bc",
> >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> >> > > > > > >> > > > > > > >   "name" : "Broker",
> >> > > > > > >> > > > > > > >   "plugins" : [ {
> >> > > > > > >> > > > > > > >     "id" :
> >> "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "id" :
> >> "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "ports" : [ {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" :
> >> "99e13356-080a-4abe-852e-8c452149cdae",
> >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> >> > > > > > >> > > > > > > >     "port" : "9099",
> >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" :
> >> "12813407-62ae-429f-8bee-75802f3b6553",
> >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> >> > > > > > >> > > > > > > >     "port" : "8999",
> >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" :
> >> "3b107675-edd7-40a3-86c2-3113b46157f9",
> >> > > > > > >> > > > > > > >     "name" : "AMQP",
> >> > > > > > >> > > > > > > >     "port" : "5672"
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" :
> >> "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> >> > > > > > >> > > > > > > >     "name" : "HTTP",
> >> > > > > > >> > > > > > > >     "port" : "10001",
> >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> >> > > > > > >> > > > > > > >     "id" :
> >> "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> >> > > > > > >> > > > > > > >     "name" : "default",
> >> > > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> >> > > > > > >> > > > > > > >   } ]
> >> > > > > > >> > > > > > > > }
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
> >> with a
> >> > > > > > reference
> >> > > > > > >> to
> >> > > > > > >> > a
> >> > > > > > >> > > > > > > property, for example
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > "name" : "${myPortName}",
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > this will then interpolate the value from the
> >> > > property,
> >> > > > so
> >> > > > > > if
> >> > > > > > >> you
> >> > > > > > >> > > set
> >> > > > > > >> > > > > the
> >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will be
> >> the
> >> > > value
> >> > > > > > used.
> >> > > > > > >> > > Type
> >> > > > > > >> > > > > > > conversions will be performed, so if the
> required
> >> > > value
> >> > > > is
> >> > > > > > an
> >> > > > > > >> > > integer
> >> > > > > > >> > > > > it
> >> > > > > > >> > > > > > > will convert to an integer.  If the value
> >> required
> >> > is
> >> > > a
> >> > > > > list
> >> > > > > > >> then
> >> > > > > > >> > > you
> >> > > > > > >> > > > > can
> >> > > > > > >> > > > > > > use a String representation of a list in Json
> >> > format.
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > You can set the properties individually, or you
> >> can
> >> > > pass
> >> > > > > in
> >> > > > > > a
> >> > > > > > >> > > > > properties
> >> > > > > > >> > > > > > > file using -props or --system-properties-file
> >> (so if
> >> > > you
> >> > > > > > have
> >> > > > > > >> a
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > file already maybe you can just pass this in).
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > One more question or may be clarification is,
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
> file
> >> > that
> >> > > > will
> >> > > > > > >> > > generated
> >> > > > > > >> > > > by
> >> > > > > > >> > > > > > > qpidd
> >> > > > > > >> > > > > > > > from the initial config right? what is the
> use
> >> of
> >> > > > > > >> store-path?*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > That is correct.  Some people just like to have
> >> > config
> >> > > > > files
> >> > > > > > >> in a
> >> > > > > > >> > > > > > > non-default location :-)
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > Hope this helps,
> >> > > > > > >> > > > > > > Rob
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > *Thanks,*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > *Ram*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> >> > > > > > >> > > > rob.j.godfrey@gmail.com
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > > > wrote:
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> >> > recommend
> >> > > > > > >> updating
> >> > > > > > >> > to
> >> > > > > > >> > > > > v6.0.1
> >> > > > > > >> > > > > > > if
> >> > > > > > >> > > > > > > > > you can.
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> >> > question -
> >> > > > are
> >> > > > > > you
> >> > > > > > >> > > asking
> >> > > > > > >> > > > > > about
> >> > > > > > >> > > > > > > > > overriding particular properties, or the
> >> storage
> >> > > > > format
> >> > > > > > >> for
> >> > > > > > >> > the
> >> > > > > > >> > > > > > broker
> >> > > > > > >> > > > > > > > > configuration - these are two different
> >> things.
> >> > > In
> >> > > > > > terms
> >> > > > > > >> of
> >> > > > > > >> > > > > > > properties /
> >> > > > > > >> > > > > > > > > context overrides this can be specified
> >> using a
> >> > > > > > properties
> >> > > > > > >> > file
> >> > > > > > >> > > > (at
> >> > > > > > >> > > > > > > least
> >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
> >> 0.28).
> >> > > In
> >> > > > > > >> terms of
> >> > > > > > >> > > the
> >> > > > > > >> > > > > > > > > configuration, JSON is currently the only
> >> text
> >> > > based
> >> > > > > > >> format
> >> > > > > > >> > > > > > supported.
> >> > > > > > >> > > > > > > > You
> >> > > > > > >> > > > > > > > > can use a database for the broker config
> >> > storage,
> >> > > > > there
> >> > > > > > >> are
> >> > > > > > >> > > built
> >> > > > > > >> > > > > in
> >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> generic
> >> > JDBC
> >> > > > > > config
> >> > > > > > >> > > stores.
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > May I ask what advantage you would get by
> >> using
> >> > > YAML
> >> > > > > or
> >> > > > > > >> > > > properties
> >> > > > > > >> > > > > > > files
> >> > > > > > >> > > > > > > > > instead of JSON?
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > -- Rob
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> >> ganapavarapu
> >> > <
> >> > > > > > >> > > > > > > rammohanganap@gmail.com
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > wrote:
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > > Hi,
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
> >> > broker
> >> > > > > using
> >> > > > > > >> > > > .properties
> >> > > > > > >> > > > > > > file
> >> > > > > > >> > > > > > > > or
> >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file?
> >> or
> >> > > what
> >> > > > > are
> >> > > > > > >> the
> >> > > > > > >> > > other
> >> > > > > > >> > > > > > ways
> >> > > > > > >> > > > > > > to
> >> > > > > > >> > > > > > > > > > pass override properties instead of JSON
> >> > config
> >> > > > > file?
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > > Thanks,
> >> > > > > > >> > > > > > > > > > Ram
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I know you recommended to use v6 but i cant deploy it to prod right now so
can you please share how do i redirect derby.log file to specified
directory other then `pwd`? in v0.28 derby.log file is getting created from
the dir where you start the processes but i wanted to send it to
/var/log/qpidd/derby.log, is there any environment variable that i can pass?

Thanks,
Ram

On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Hi Rob,
>
> I did not get chance to try v6, i will try and let you know.
>
> Ram
>
> On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> have you got v6 working now?  The memory settings for the broker depend
>> upon which version you are using.  For version 6 there is a comprehensive
>> discussion on memory allocation settings in the manual:
>>
>> https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html
>>
>> Versions prior to v6 use memory (and threads) very differently.
>>
>> Hope this helps,
>> Rob
>>
>> On 18 April 2016 at 22:09, rammohan ganapavarapu <rammohanganap@gmail.com
>> >
>> wrote:
>>
>> > Rob,
>> >
>> > One more question in the same context, what are the recommended JVM
>> > settings for java broker? i am using default "-Xmx1024m" its working
>> fine
>> > but i wanted to follow the best practices. Please advice.
>> >
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > Apologies, I've been having a few issues with my internet provider.
>> > >
>> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
>> > > configuring (through the UI) that to use ANONYMOUS, and then check
>> your
>> > > client can connect.
>> > >
>> > > This is what I did, and it works fine for me.
>> > >
>> > > For the rest of your requirements (like setting the log file location,
>> > > etc.) you really want to be using version 6 or later.
>> > >
>> > > Cheers,
>> > > Rob
>> > >
>> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
>> > rammohanganap@gmail.com>
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > I have tried with virtualhost config that you have provided but i am
>> > > still
>> > > > getting connection error. I would like to make it work with 6.0*
>> > version
>> > > > but at this point i need 0.28 version to make working, so if you can
>> > help
>> > > > me to configure log location in 0.28 that would unblock me for now.
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
>> > PLAIN
>> > > > username=guest
>> > > >
>> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
>> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > c.a.a.q.QueueBuilder -
>> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
>> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
>> > > >
>> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
>> > > c.a.a.q.QueueBuilder -
>> > > > QueueBuilder$1.execute() : Creating exchange/queue
>> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
>> > > >
>> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > Not Connected. error Unknown virtualhost '' username=null
>> > > >
>> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> >
>> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
>> > PLAIN
>> > > > username=guest
>> > > >
>> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
>> > > >
>> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Hi Ram,
>> > > > >
>> > > > > in 6.0.x the log file location can be changed directly through the
>> > > config
>> > > > > json - I really think we should first concentrate on getting that
>> > > working
>> > > > > for you.
>> > > > >
>> > > > > I've verified that using the 6.0.x client and broker with a URL
>> > similar
>> > > > to
>> > > > > the one in your log file works for ANONYMOUS.
>> > > > >
>> > > > > Looking at your error output again I notice that there seem
>> actually
>> > to
>> > > > be
>> > > > > two connection attempts, the first ends with:
>> > > > >
>> > > > > error Unknown virtualhost '' username=null
>> > > > >
>> > > > > Then we see the second failure with the "PLAIN" error.  That first
>> > > error
>> > > > > indicate that ANONYMOUS log in was actually successful, however
>> you
>> > > were
>> > > > > the running into the fact that no virtualhost is mapped to the
>> empty
>> > > > > string.  That suggests to me that you don't have any
>> > virtualhostaliases
>> > > > > defined in your (AMQP) port config. I'd suggest that it would make
>> > > sense
>> > > > to
>> > > > > craft an initial config based on the default initial config for
>> 6.0.x
>> > > > which
>> > > > > will include a virtualhostaliases section in the AMQP port which
>> > looks
>> > > > > like:
>> > > > >
>> > > > > "virtualhostaliases" : [ {
>> > > > >    "name" : "nameAlias",
>> > > > >    "type" : "nameAlias"
>> > > > > }, {
>> > > > >     "name" : "defaultAlias",
>> > > > >     "type" : "defaultAlias"
>> > > > > }, {
>> > > > >     "name" : "hostnameAlias",
>> > > > >     "type" : "hostnameAlias"
>> > > > > } ]
>> > > > >
>> > > > >
>> > > > > Let me know if this works for you, then we can look at some of
>> your
>> > > other
>> > > > > questions.
>> > > > >
>> > > > > -- Rob
>> > > > >
>> > > > >
>> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
>> > > rammohanganap@gmail.com
>> > > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Rob,
>> > > > > >
>> > > > > > Also how do i pass logfile location as -prop as commandline
>> > argument?
>> > > > or
>> > > > > > how do i change default log file location i know we can update
>> > > > log4j.xml
>> > > > > > but is there any other way?
>> > > > > >
>> > > > > > Ram
>> > > > > >
>> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
>> > > > > > rammohanganap@gmail.com> wrote:
>> > > > > >
>> > > > > > > Rob,
>> > > > > > >
>> > > > > > > I tried passing properties file as argument but it didnt like
>> it.
>> > > > Does
>> > > > > it
>> > > > > > > support in 0.28v?
>> > > > > > >
>> > > > > > >
>> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
>> > > > > > ../etc/qpidd.properties
>> > > > > > >
>> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > -DQPID_LOG_APPEND=
>> > > > > > > Using QPID_CLASSPATH
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > > -XX:+UseConcMarkSweepGC
>> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>> > > > > > > Exception during startup: java.lang.IllegalArgumentException:
>> > > > > > > Configuration property argument is not of the format
>> name=value:
>> > > > > > > ../etc/qpidd.properties
>> > > > > > > java.lang.IllegalArgumentException: Configuration property
>> > argument
>> > > > is
>> > > > > > not
>> > > > > > > of the format name=value: ../etc/qpidd.properties
>> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
>> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
>> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
>> > > > > > >
>> > > > > > >
>> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
>> > > > > > > ../etc/qpidd.properties
>> > > > > > >
>> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > -DQPID_LOG_APPEND=
>> > > > > > > Using QPID_CLASSPATH
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > > -XX:+UseConcMarkSweepGC
>> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > *Error: Unrecognized option: -props*
>> > > > > > > How do i change this block from initial configuration to use
>> > > > Anonymous?
>> > > > > > >
>> > > > > > > {
>> > > > > > >   "name": "Broker",
>> > > > > > >   "storeVersion": 1,
>> > > > > > >   "modelVersion": "1.2",
>> > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > >   "authenticationproviders" : [ {
>> > > > > > >     "name" : "passwordFile",
>> > > > > > >     "type" : "PlainPasswordFile",
>> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
>> > > > > > >     "preferencesproviders" : [{
>> > > > > > >         "name": "fileSystemPreferences",
>> > > > > > >         "type": "FileSystemPreferences",
>> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
>> > > > > > >     }]
>> > > > > > >   } ],
>> > > > > > >
>> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
>> > > > rob.j.godfrey@gmail.com>
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > >> Hi Ram,
>> > > > > > >>
>> > > > > > >> so one approach to this would be to define you authentication
>> > > > > providers
>> > > > > > up
>> > > > > > >> from in your config file, so you have an an Anonymous
>> provider
>> > > named
>> > > > > > >> "anonymous" and a password file provider named
>> "passwordFile" or
>> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc)
>> you
>> > > can
>> > > > > > >> parameterise the value they have for the name of the auth
>> > provider
>> > > > > they
>> > > > > > >> are
>> > > > > > >> using.  So your initial JSON config file could contain
>> something
>> > > > like:
>> > > > > > >>
>> > > > > > >> "ports" : [  {
>> > > > > > >>   "name" : "AMQP",
>> > > > > > >>   "port" : "${qpid.amqp_port}",
>> > > > > > >>   "authenticationProvider" :
>> > > > > "${qpid.amqp_port_authenticationProvider}",
>> > > > > > >>
>> > > > > > >>
>> > > > > > >> and then you could override which provider to use at runtime
>> by
>> > > > > setting
>> > > > > > >> the
>> > > > > > >> property qpid.amqp_port_authenticationProvider to anonymous
>> or
>> > > > > > >> passwordFile
>> > > > > > >> (or the name of any other authentication provider that is
>> > defined
>> > > in
>> > > > > > your
>> > > > > > >> JSON config.
>> > > > > > >>
>> > > > > > >> The only thing you can't do with properties is to add new
>> > entities
>> > > > > into
>> > > > > > >> the
>> > > > > > >> config - that you have to do either by editing the file, or
>> by
>> > > using
>> > > > > the
>> > > > > > >> REST api to modify the broker configuration while it is
>> running.
>> > > > > > >>
>> > > > > > >> Hope this helps,
>> > > > > > >> Rob
>> > > > > > >>
>> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
>> > > > > > rammohanganap@gmail.com>
>> > > > > > >> wrote:
>> > > > > > >>
>> > > > > > >> > Rob,
>> > > > > > >> >
>> > > > > > >> > Thanks for detailed explanation, i wanted to restart with
>> the
>> > > > > changed
>> > > > > > >> > properties if any for example today i have Anonymous SASL
>> and
>> > > > later
>> > > > > i
>> > > > > > >> may
>> > > > > > >> > want to use password file. How do i pass SASL mechanism as
>> > > -prop?
>> > > > > > >> >
>> > > > > > >> > Thanks,
>> > > > > > >> > Ram
>> > > > > > >> >
>> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
>> > > > > rob.j.godfrey@gmail.com>
>> > > > > > >> > wrote:
>> > > > > > >> >
>> > > > > > >> > > Hi Ram,
>> > > > > > >> > >
>> > > > > > >> > > The initial config file is only used when there is no
>> broker
>> > > > > config
>> > > > > > -
>> > > > > > >> the
>> > > > > > >> > > idea is that it is used to populate the broker config on
>> > first
>> > > > > > >> startup.
>> > > > > > >> > > Once there is a broker config file then this is used
>> (since
>> > it
>> > > > may
>> > > > > > >> have
>> > > > > > >> > > been updated by creating or modifying entities through
>> the
>> > > > > > management
>> > > > > > >> > > functions).  The broker ships with a default initial
>> config
>> > > > which
>> > > > > is
>> > > > > > >> > > contained within its jar files, however we allow people
>> to
>> > > > provide
>> > > > > > >> there
>> > > > > > >> > > own.  Records in the config file a copied verbatim into
>> the
>> > > > config
>> > > > > > >> store
>> > > > > > >> > -
>> > > > > > >> > > the only difference being that ids are generated for each
>> > > > entity.
>> > > > > > The
>> > > > > > >> > > interpolation from property names to values is done each
>> > time
>> > > > the
>> > > > > > >> broker
>> > > > > > >> > > reads the config.  If the broker finds there is config in
>> > the
>> > > > > store
>> > > > > > >> path
>> > > > > > >> > > then it completely ignores the initial config - it does
>> not
>> > > > > examine
>> > > > > > >> any
>> > > > > > >> > > differences.
>> > > > > > >> > >
>> > > > > > >> > > Are you looking to start a completely fresh broker each
>> > time,
>> > > or
>> > > > > > >> merely
>> > > > > > >> > to
>> > > > > > >> > > be able to change certain properties (such as port
>> numbers)
>> > on
>> > > > > each
>> > > > > > >> > > restart?  If you do not want to retain any changes to the
>> > > broker
>> > > > > > >> > > configuration made while the broker is actually running,
>> > then
>> > > > you
>> > > > > > >> could
>> > > > > > >> > use
>> > > > > > >> > > a "memory" config store rather than a Json one.  If you
>> want
>> > > to
>> > > > > > retain
>> > > > > > >> > any
>> > > > > > >> > > changes made through management, but desire the ability
>> to
>> > > > change
>> > > > > > >> certain
>> > > > > > >> > > properties (like ports) on each startup, then you don't
>> need
>> > > to
>> > > > > > worry
>> > > > > > >> > about
>> > > > > > >> > > the fact that the initial configuration is only loaded
>> the
>> > > first
>> > > > > > time
>> > > > > > >> -
>> > > > > > >> > you
>> > > > > > >> > > just need to pass in the property values you want on
>> > startup.
>> > > > > > >> > >
>> > > > > > >> > > In terms of an example system properties file...  The
>> > default
>> > > > > > >> > > initial-config.json defines the amqp port to be
>> > > > ${qpid.amqp_port}
>> > > > > > and
>> > > > > > >> the
>> > > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
>> > > > properties
>> > > > > > >> file
>> > > > > > >> > > called rob.properties which contains
>> > > > > > >> > >
>> > > > > > >> > > qpid.http_port=8888
>> > > > > > >> > > qpid.amqp_port=5555
>> > > > > > >> > >
>> > > > > > >> > > and then run qpid with the argument -props rob.properties
>> > > then I
>> > > > > > >> get...
>> > > > > > >> > >
>> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
>> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP
>> port
>> > > 8888
>> > > > > > >> > >
>> > > > > > >> > >
>> > > > > > >> > > So, when you use your initial or stored config you just
>> need
>> > > to
>> > > > > > ensure
>> > > > > > >> > all
>> > > > > > >> > > the variables you use in your config are set in your
>> > > properties
>> > > > > file
>> > > > > > >> > (some
>> > > > > > >> > > properties have defaults within the code if they are not
>> > > > otherwise
>> > > > > > >> set -
>> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
>> > > > > > elsewhere).
>> > > > > > >> > >
>> > > > > > >> > > Hope this helps,
>> > > > > > >> > > Rob
>> > > > > > >> > >
>> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> > > > > > >> rammohanganap@gmail.com
>> > > > > > >> > >
>> > > > > > >> > > wrote:
>> > > > > > >> > >
>> > > > > > >> > > > Rob,
>> > > > > > >> > > >
>> > > > > > >> > > > Thank you, one more question on -icp and -sp, so what
>> if i
>> > > > have
>> > > > > > >> updated
>> > > > > > >> > > icp
>> > > > > > >> > > > with some property change  and restarted broker with
>> icp
>> > > > (every
>> > > > > > >> time i
>> > > > > > >> > > > restart broker i am using initial config
>> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its
>> is
>> > > > right
>> > > > > > way
>> > > > > > >> or
>> > > > > > >> > > > not), does it automatically update config file in -sp?
>> i
>> > my
>> > > > case
>> > > > > > it
>> > > > > > >> did
>> > > > > > >> > > not
>> > > > > > >> > > > updated the config file in store-path upon restart.
>> What
>> > > will
>> > > > > > >> happened
>> > > > > > >> > > if i
>> > > > > > >> > > > have differences in initial config file that i use to
>> > start
>> > > > > broker
>> > > > > > >> and
>> > > > > > >> > > the
>> > > > > > >> > > > config file under store-path?
>> > > > > > >> > > >
>> > > > > > >> > > > Thanks,
>> > > > > > >> > > > Ram
>> > > > > > >> > > >
>> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> > > > > > >> rob.j.godfrey@gmail.com>
>> > > > > > >> > > > wrote:
>> > > > > > >> > > >
>> > > > > > >> > > > > This looks like a client error to me... the line
>> which
>> > > says:
>> > > > > > >> > > > >
>> > > > > > >> > > > >  Client restricted itself to : PLAIN
>> > > > > > >> > > > >
>> > > > > > >> > > > > Out of interest what happens if you remove the
>> > > > > > >> > &sasl_mechs='ANONYMOUS'
>> > > > > > >> > > > from
>> > > > > > >> > > > > your connection URL?  Without any sort of restriction
>> > I'd
>> > > > > expect
>> > > > > > >> the
>> > > > > > >> > > > client
>> > > > > > >> > > > > to do the right thing.
>> > > > > > >> > > > >
>> > > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll
>> have
>> > > > deeper
>> > > > > > >> look
>> > > > > > >> > in
>> > > > > > >> > > > the
>> > > > > > >> > > > > morning.
>> > > > > > >> > > > >
>> > > > > > >> > > > > -- Rob
>> > > > > > >> > > > >
>> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>> > > > > > >> > > rammohanganap@gmail.com
>> > > > > > >> > > > >
>> > > > > > >> > > > > wrote:
>> > > > > > >> > > > >
>> > > > > > >> > > > > > Rob,
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > thanks for the explanation, do you have a sample
>> > > > > > >> > > > > --system-properties-file?
>> > > > > > >> > > > > > that i can take a look?
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
>> throwing
>> > > this
>> > > > > > >> error, i
>> > > > > > >> > > am
>> > > > > > >> > > > > not
>> > > > > > >> > > > > > a developer, i am ops guy and i dont want to change
>> > the
>> > > > > > existing
>> > > > > > >> > code
>> > > > > > >> > > > but
>> > > > > > >> > > > > > wanted to make java qpid work. This is the error i
>> am
>> > > > > getting
>> > > > > > >> with
>> > > > > > >> > > > > 6.0.1v..
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > 2016-04-07 22:32:36,726
>> > > > > > >> > > > > >
>> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > > > ERROR
>> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > ConnectionImpl.openConnection() :
>> > > > > Error
>> > > > > > >> > > > connecting
>> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > >> > > > > > error Unknown virtualhost '' username=null
>> > > > > > >> > > > > > 2016-04-07 22:32:36,731
>> > > > > > >> > > > > >
>> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > > > ERROR
>> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > ConnectionImpl.openConnection() :
>> > > > > Error
>> > > > > > >> > > > connecting
>> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > >> > > > > > error Client and broker have no SASL mechanisms in
>> > > common.
>> > > > > > >> Broker
>> > > > > > >> > > > allows
>> > > > > > >> > > > > :
>> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > > > >> > CRAM-MD5,
>> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
>> itself
>> > to
>> > > :
>> > > > > > PLAIN
>> > > > > > >> > > > > > username=guest
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > And here is my sasl mechanism.
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > curl -s 0:10001/service/sasl
>> > > > > > >> > > > > > {
>> > > > > > >> > > > > >   "user" : "ANONYMOUS",
>> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
>> 6.0.1
>> > is
>> > > > not
>> > > > > > >> > working.
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Thanks,
>> > > > > > >> > > > > > Ram
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > > > > > >> > rob.j.godfrey@gmail.com
>> > > > > > >> > > >
>> > > > > > >> > > > > > wrote:
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>> > > > > > >> > > > > rammohanganap@gmail.com
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > wrote:
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > Rob,
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
>> > authentication?
>> > > > last
>> > > > > > >> time
>> > > > > > >> > > when
>> > > > > > >> > > > i
>> > > > > > >> > > > > > try
>> > > > > > >> > > > > > > to
>> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol
>> > are
>> > > > you
>> > > > > > >> using
>> > > > > > >> > > > (0-9-1,
>> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
>> > should
>> > > > work
>> > > > > > on
>> > > > > > >> > 0.32
>> > > > > > >> > > > > > however
>> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer at
>> all"
>> > > > > option
>> > > > > > >> for
>> > > > > > >> > > AMQP
>> > > > > > >> > > > > 1.0
>> > > > > > >> > > > > > > probably didn't work (this is different to an
>> > > > > authentication
>> > > > > > >> > layer
>> > > > > > >> > > > > which
>> > > > > > >> > > > > > > allows anonymous).
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Sorry i was not clear in my previous email, i
>> was
>> > > > taking
>> > > > > > >> about
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > > file not broker storage format, the use case is
>> > if i
>> > > > > > wanted
>> > > > > > >> to
>> > > > > > >> > > > > override
>> > > > > > >> > > > > > > > some of these properties and i have my own
>> custom
>> > > > > > >> tool/script
>> > > > > > >> > > that
>> > > > > > >> > > > > > goes
>> > > > > > >> > > > > > > > through the properties files and replace with
>> the
>> > > > > > override i
>> > > > > > >> > > > defined,
>> > > > > > >> > > > > > so
>> > > > > > >> > > > > > > i
>> > > > > > >> > > > > > > > want to use the same tool/script for qpid
>> config
>> > as
>> > > > > well.
>> > > > > > My
>> > > > > > >> > tool
>> > > > > > >> > > > > only
>> > > > > > >> > > > > > > > support key:value but if we have json array it
>> > wont
>> > > > > work.
>> > > > > > So
>> > > > > > >> > if i
>> > > > > > >> > > > > want
>> > > > > > >> > > > > > to
>> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
>> arguments
>> > > what
>> > > > > are
>> > > > > > >> the
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > > that java qpid support as command line?
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Below if my config, is it possible to pass all
>> > these
>> > > > as
>> > > > > > >> command
>> > > > > > >> > > > line
>> > > > > > >> > > > > > > > arguments?
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > {
>> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
>> > > > > > >> > > > > > > >     "id" :
>> "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> > > > > > >> > > > > > > >     "name" : "Anonymous",
>> > > > > > >> > > > > > > >     "type" : "Anonymous"
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > >> > > > > > > >   "id" :
>> "c433a66c-e6dc-4c48-be01-268295f580bc",
>> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
>> > > > > > >> > > > > > > >   "name" : "Broker",
>> > > > > > >> > > > > > > >   "plugins" : [ {
>> > > > > > >> > > > > > > >     "id" :
>> "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> > > > > > >> > > > > > > >     "name" : "httpManagement",
>> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "id" :
>> "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> > > > > > >> > > > > > > >     "name" : "jmxManagement",
>> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "ports" : [ {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" :
>> "99e13356-080a-4abe-852e-8c452149cdae",
>> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > > > >> > > > > > > >     "port" : "9099",
>> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" :
>> "12813407-62ae-429f-8bee-75802f3b6553",
>> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > > > >> > > > > > > >     "port" : "8999",
>> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" :
>> "3b107675-edd7-40a3-86c2-3113b46157f9",
>> > > > > > >> > > > > > > >     "name" : "AMQP",
>> > > > > > >> > > > > > > >     "port" : "5672"
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" :
>> "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> > > > > > >> > > > > > > >     "name" : "HTTP",
>> > > > > > >> > > > > > > >     "port" : "10001",
>> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "storeVersion" : 1,
>> > > > > > >> > > > > > > >   "virtualhosts" : [ {
>> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
>> > > > > > >> > > > > > > >     "id" :
>> "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> > > > > > >> > > > > > > >     "name" : "default",
>> > > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>> > > > > > >> > > > > > > >     "storeType" : "DERBY",
>> > > > > > >> > > > > > > >     "type" : "STANDARD"
>> > > > > > >> > > > > > > >   } ]
>> > > > > > >> > > > > > > > }
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
>> with a
>> > > > > > reference
>> > > > > > >> to
>> > > > > > >> > a
>> > > > > > >> > > > > > > property, for example
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > "name" : "${myPortName}",
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > this will then interpolate the value from the
>> > > property,
>> > > > so
>> > > > > > if
>> > > > > > >> you
>> > > > > > >> > > set
>> > > > > > >> > > > > the
>> > > > > > >> > > > > > > property myPortName to "RobsPort" that will be
>> the
>> > > value
>> > > > > > used.
>> > > > > > >> > > Type
>> > > > > > >> > > > > > > conversions will be performed, so if the required
>> > > value
>> > > > is
>> > > > > > an
>> > > > > > >> > > integer
>> > > > > > >> > > > > it
>> > > > > > >> > > > > > > will convert to an integer.  If the value
>> required
>> > is
>> > > a
>> > > > > list
>> > > > > > >> then
>> > > > > > >> > > you
>> > > > > > >> > > > > can
>> > > > > > >> > > > > > > use a String representation of a list in Json
>> > format.
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > You can set the properties individually, or you
>> can
>> > > pass
>> > > > > in
>> > > > > > a
>> > > > > > >> > > > > properties
>> > > > > > >> > > > > > > file using -props or --system-properties-file
>> (so if
>> > > you
>> > > > > > have
>> > > > > > >> a
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > file already maybe you can just pass this in).
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > One more question or may be clarification is,
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config file
>> > that
>> > > > will
>> > > > > > >> > > generated
>> > > > > > >> > > > by
>> > > > > > >> > > > > > > qpidd
>> > > > > > >> > > > > > > > from the initial config right? what is the use
>> of
>> > > > > > >> store-path?*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > That is correct.  Some people just like to have
>> > config
>> > > > > files
>> > > > > > >> in a
>> > > > > > >> > > > > > > non-default location :-)
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > Hope this helps,
>> > > > > > >> > > > > > > Rob
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > *Thanks,*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > *Ram*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>> > > > > > >> > > > rob.j.godfrey@gmail.com
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > > > wrote:
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
>> > recommend
>> > > > > > >> updating
>> > > > > > >> > to
>> > > > > > >> > > > > v6.0.1
>> > > > > > >> > > > > > > if
>> > > > > > >> > > > > > > > > you can.
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
>> > question -
>> > > > are
>> > > > > > you
>> > > > > > >> > > asking
>> > > > > > >> > > > > > about
>> > > > > > >> > > > > > > > > overriding particular properties, or the
>> storage
>> > > > > format
>> > > > > > >> for
>> > > > > > >> > the
>> > > > > > >> > > > > > broker
>> > > > > > >> > > > > > > > > configuration - these are two different
>> things.
>> > > In
>> > > > > > terms
>> > > > > > >> of
>> > > > > > >> > > > > > > properties /
>> > > > > > >> > > > > > > > > context overrides this can be specified
>> using a
>> > > > > > properties
>> > > > > > >> > file
>> > > > > > >> > > > (at
>> > > > > > >> > > > > > > least
>> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
>> 0.28).
>> > > In
>> > > > > > >> terms of
>> > > > > > >> > > the
>> > > > > > >> > > > > > > > > configuration, JSON is currently the only
>> text
>> > > based
>> > > > > > >> format
>> > > > > > >> > > > > > supported.
>> > > > > > >> > > > > > > > You
>> > > > > > >> > > > > > > > > can use a database for the broker config
>> > storage,
>> > > > > there
>> > > > > > >> are
>> > > > > > >> > > built
>> > > > > > >> > > > > in
>> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic
>> > JDBC
>> > > > > > config
>> > > > > > >> > > stores.
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > May I ask what advantage you would get by
>> using
>> > > YAML
>> > > > > or
>> > > > > > >> > > > properties
>> > > > > > >> > > > > > > files
>> > > > > > >> > > > > > > > > instead of JSON?
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > -- Rob
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
>> ganapavarapu
>> > <
>> > > > > > >> > > > > > > rammohanganap@gmail.com
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > wrote:
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > > Hi,
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
>> > broker
>> > > > > using
>> > > > > > >> > > > .properties
>> > > > > > >> > > > > > > file
>> > > > > > >> > > > > > > > or
>> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file?
>> or
>> > > what
>> > > > > are
>> > > > > > >> the
>> > > > > > >> > > other
>> > > > > > >> > > > > > ways
>> > > > > > >> > > > > > > to
>> > > > > > >> > > > > > > > > > pass override properties instead of JSON
>> > config
>> > > > > file?
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > > Thanks,
>> > > > > > >> > > > > > > > > > Ram
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

I don't think the JMX plugin supports anonymous access - it always requires
a username and password (so will need to be associated with a Plain or
other password based authentication provider)

-- Rob

On 30 August 2016 at 18:56, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Any one have any idea why my jconsole is still asking for credentials even
> though i have configured to use ANONYMOUS auth provider for jmx port?
>
> On Fri, Aug 26, 2016 at 3:22 PM, rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
> > Thank you Rob, i am also trying to configure JMX, i have added JMX ports
> > in config and server listening on them but when i try to connect using
> > connect string "service:jmx:rmi:///jndi/rmi://localhost:8999/jmxrmi" its
> > asking me credentials but i configured to use Anonymous for that port
> >
> > Any idea?
> >
> >
> >   }, {
> >     "id" : "196b5a76-d552-4a38-9560-63a010bb40a0",
> >     "name" : "JMX_CONNECTOR",
> >     "type" : "JMX",
> >     "authenticationProvider" : "ANONYMOUS",
> >     "port" : "9099",
> >     "lastUpdatedBy" : "admin",
> >     "lastUpdatedTime" : 1472242532264,
> >     "createdBy" : "admin",
> >     "createdTime" : 1472242532264
> >   }, {
> >     "id" : "881b3b25-463d-4efe-8b27-0335525ea920",
> >     "name" : "RMI_REGISTRY",
> >     "type" : "RMI",
> >     "port" : "8999",
> >     "lastUpdatedBy" : "admin",
> >     "lastUpdatedTime" : 1472242484471,
> >     "createdBy" : "admin",
> >     "createdTime" : 1472242484471
> >   } ],
> >
> > On Fri, Aug 26, 2016 at 1:10 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> >> Hi Ram,
> >>
> >> This page from the broker docs covers most aspects of memory
> >> configuration:
> >>
> >> https://qpid.apache.org/releases/qpid-java-6.0.4/java-broker
> >> /book/Java-Broker-Runtime-Memory.html
> >>
> >> Hope this helps,
> >> Rob
> >>
> >> On 26 August 2016 at 20:49, rammohan ganapavarapu <
> >> rammohanganap@gmail.com>
> >> wrote:
> >>
> >> > Yes, i changed it to use Anonymous and its working now. Now i need
> some
> >> > documents or suggestions on how to configure Mem settings and flow to
> >> disk
> >> > settings in config.json
> >> >
> >> > Thanks,
> >> > Ram
> >> >
> >> > On Fri, Aug 26, 2016 at 12:16 PM, Rob Godfrey <
> rob.j.godfrey@gmail.com>
> >> > wrote:
> >> >
> >> > > Hi Ram,
> >> > >
> >> > > I assume that you have configured port 5672 to use the Plain auth
> >> > provider
> >> > > (each port can only be associated with a single auth provider - you
> >> can
> >> > add
> >> > > other ports which use the a different auth provider).  The issue
> here
> >> is
> >> > > that by default the Java Broker will not allow PLAIN SASL over a
> >> non-TLS
> >> > > connection.  You can override this by changing the
> >> "secureOnlyMechanisms"
> >> > > attribute of the (password) auth provider.  Setting this value to
> the
> >> > empty
> >> > > list within the password auth provider section
> >> > >
> >> > >             "secureOnlyMechanisms" : [ ],
> >> > >
> >> > > in your json config file, will mean than PLAIN will be offered as a
> >> > > mechanism.
> >> > >
> >> > > Alternatively you can change your port configuration to use you
> >> anonymous
> >> > > authentication provider, rather than the password provider.
> >> > >
> >> > > Hope this helps,
> >> > > Rob
> >> > >
> >> > >
> >> > > On 26 August 2016 at 19:27, rammohan ganapavarapu <
> >> > rammohanganap@gmail.com
> >> > > >
> >> > > wrote:
> >> > >
> >> > > > Rob,
> >> > > >
> >> > > > I have followed as you said and created a clean slate v6 broker
> and
> >> > from
> >> > > UI
> >> > > > created two auth provides palin and anonimous but when i make this
> >> api
> >> > > call
> >> > > > i am getting different sasl list
> >> > > >
> >> > > >  curl -s http://localhost:10001/service/sasl
> >> > > > {
> >> > > >   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
> >> > > >
> >> > > > and as you told you before my client is throwing this error, so
> >> client
> >> > > has
> >> > > > a logic to try Plain with user  guest first if it doesn't work
> then
> >> try
> >> > > > anonymous. Since broker doesn't have any of those in its sasl list
> >> may
> >> > be
> >> > > > its not able to connect?
> >> > > >
> >> > > >
> >> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> >> > > > connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> >> > > [EXTERNAL,
> >> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5,
> >> PLAIN,
> >> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
> >> > > > username=guest
> >> > > >
> >> > > >
> >> > > > and
> >> > > >
> >> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> >> > > > connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> >> > > [EXTERNAL,
> >> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5,
> >> PLAIN,
> >> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to :
> >> ANONYMOUS
> >> > > > username=null
> >> > > >
> >> > > > Thanks,
> >> > > > Ram
> >> > > >
> >> > > > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> >> > > > rammohanganap@gmail.com> wrote:
> >> > > >
> >> > > > > Hi Rob,
> >> > > > >
> >> > > > > I did not get chance to try v6, i will try and let you know.
> >> > > > >
> >> > > > > Ram
> >> > > > >
> >> > > > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <
> >> > rob.j.godfrey@gmail.com
> >> > > >
> >> > > > > wrote:
> >> > > > >
> >> > > > >> Hi Ram,
> >> > > > >>
> >> > > > >> have you got v6 working now?  The memory settings for the
> broker
> >> > > depend
> >> > > > >> upon which version you are using.  For version 6 there is a
> >> > > > comprehensive
> >> > > > >> discussion on memory allocation settings in the manual:
> >> > > > >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
> >> > > > >> broker/book/Java-Broker-Runtime-Memory.html
> >> > > > >>
> >> > > > >> Versions prior to v6 use memory (and threads) very differently.
> >> > > > >>
> >> > > > >> Hope this helps,
> >> > > > >> Rob
> >> > > > >>
> >> > > > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> >> > > > rammohanganap@gmail.com
> >> > > > >> >
> >> > > > >> wrote:
> >> > > > >>
> >> > > > >> > Rob,
> >> > > > >> >
> >> > > > >> > One more question in the same context, what are the
> recommended
> >> > JVM
> >> > > > >> > settings for java broker? i am using default "-Xmx1024m" its
> >> > working
> >> > > > >> fine
> >> > > > >> > but i wanted to follow the best practices. Please advice.
> >> > > > >> >
> >> > > > >> >
> >> > > > >> > Thanks,
> >> > > > >> > Ram
> >> > > > >> >
> >> > > > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
> >> > > rob.j.godfrey@gmail.com
> >> > > > >
> >> > > > >> > wrote:
> >> > > > >> >
> >> > > > >> > > Hi Ram,
> >> > > > >> > >
> >> > > > >> > > Apologies, I've been having a few issues with my internet
> >> > > provider.
> >> > > > >> > >
> >> > > > >> > > Can you try setting up an entirely clean install of Qpid
> >> 6.0.1
> >> > and
> >> > > > >> > > configuring (through the UI) that to use ANONYMOUS, and
> then
> >> > check
> >> > > > >> your
> >> > > > >> > > client can connect.
> >> > > > >> > >
> >> > > > >> > > This is what I did, and it works fine for me.
> >> > > > >> > >
> >> > > > >> > > For the rest of your requirements (like setting the log
> file
> >> > > > location,
> >> > > > >> > > etc.) you really want to be using version 6 or later.
> >> > > > >> > >
> >> > > > >> > > Cheers,
> >> > > > >> > > Rob
> >> > > > >> > >
> >> > > > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> >> > > > >> > rammohanganap@gmail.com>
> >> > > > >> > > wrote:
> >> > > > >> > >
> >> > > > >> > > > Rob,
> >> > > > >> > > >
> >> > > > >> > > > I have tried with virtualhost config that you have
> provided
> >> > but
> >> > > i
> >> > > > am
> >> > > > >> > > still
> >> > > > >> > > > getting connection error. I would like to make it work
> with
> >> > 6.0*
> >> > > > >> > version
> >> > > > >> > > > but at this point i need 0.28 version to make working, so
> >> if
> >> > you
> >> > > > can
> >> > > > >> > help
> >> > > > >> > > > me to configure log location in 0.28 that would unblock
> me
> >> for
> >> > > > now.
> >> > > > >> > > >
> >> > > > >> > > > Thanks,
> >> > > > >> > > > Ram
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > S.QUEUECLIENTSERVICE -
> >> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> >> > > Connection
> >> > > > :
> >> > > > >> 0
> >> > > > >> > > Host =
> >> > > > >> > > > localhost
> >> > > > >> > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > >> > > > Not Connected. error Client and broker have no SASL
> >> mechanisms
> >> > > in
> >> > > > >> > common.
> >> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > > >> > > CRAM-MD5-HASHED,
> >> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> >> itself
> >> > > to
> >> > > > :
> >> > > > >> > PLAIN
> >> > > > >> > > > username=guest
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > S.QUEUECLIENTSERVICE -
> >> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
> >> queue
> >> > > > null
> >> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > c.a.a.q.QueueBuilder -
> >> > > > >> > > > QueueBuilder$1.execute() : Attempt to create
> exchange/queue
> >> > > > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> >> > > > >> > > c.a.a.q.QueueBuilder -
> >> > > > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> >> > > > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > S.QUEUECLIENTSERVICE -
> >> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> >> > > Connection
> >> > > > :
> >> > > > >> 0
> >> > > > >> > > Host =
> >> > > > >> > > > localhost
> >> > > > >> > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> > > > >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > >> > > > Not Connected. error Unknown virtualhost '' username=null
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > S.QUEUECLIENTSERVICE -
> >> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> >> > > Connection
> >> > > > :
> >> > > > >> 0
> >> > > > >> > > Host =
> >> > > > >> > > > localhost
> >> > > > >> > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > >> > > > Not Connected. error Client and broker have no SASL
> >> mechanisms
> >> > > in
> >> > > > >> > common.
> >> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > > >> > > CRAM-MD5-HASHED,
> >> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> >> itself
> >> > > to
> >> > > > :
> >> > > > >> > PLAIN
> >> > > > >> > > > username=guest
> >> > > > >> > > >
> >> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > > >> > > S.QUEUECLIENTSERVICE -
> >> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
> >> queue
> >> > > > null
> >> > > > >> > > >
> >> > > > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> >> > > > >> rob.j.godfrey@gmail.com>
> >> > > > >> > > > wrote:
> >> > > > >> > > >
> >> > > > >> > > > > Hi Ram,
> >> > > > >> > > > >
> >> > > > >> > > > > in 6.0.x the log file location can be changed directly
> >> > through
> >> > > > the
> >> > > > >> > > config
> >> > > > >> > > > > json - I really think we should first concentrate on
> >> getting
> >> > > > that
> >> > > > >> > > working
> >> > > > >> > > > > for you.
> >> > > > >> > > > >
> >> > > > >> > > > > I've verified that using the 6.0.x client and broker
> >> with a
> >> > > URL
> >> > > > >> > similar
> >> > > > >> > > > to
> >> > > > >> > > > > the one in your log file works for ANONYMOUS.
> >> > > > >> > > > >
> >> > > > >> > > > > Looking at your error output again I notice that there
> >> seem
> >> > > > >> actually
> >> > > > >> > to
> >> > > > >> > > > be
> >> > > > >> > > > > two connection attempts, the first ends with:
> >> > > > >> > > > >
> >> > > > >> > > > > error Unknown virtualhost '' username=null
> >> > > > >> > > > >
> >> > > > >> > > > > Then we see the second failure with the "PLAIN" error.
> >> That
> >> > > > first
> >> > > > >> > > error
> >> > > > >> > > > > indicate that ANONYMOUS log in was actually successful,
> >> > > however
> >> > > > >> you
> >> > > > >> > > were
> >> > > > >> > > > > the running into the fact that no virtualhost is mapped
> >> to
> >> > the
> >> > > > >> empty
> >> > > > >> > > > > string.  That suggests to me that you don't have any
> >> > > > >> > virtualhostaliases
> >> > > > >> > > > > defined in your (AMQP) port config. I'd suggest that it
> >> > would
> >> > > > make
> >> > > > >> > > sense
> >> > > > >> > > > to
> >> > > > >> > > > > craft an initial config based on the default initial
> >> config
> >> > > for
> >> > > > >> 6.0.x
> >> > > > >> > > > which
> >> > > > >> > > > > will include a virtualhostaliases section in the AMQP
> >> port
> >> > > which
> >> > > > >> > looks
> >> > > > >> > > > > like:
> >> > > > >> > > > >
> >> > > > >> > > > > "virtualhostaliases" : [ {
> >> > > > >> > > > >    "name" : "nameAlias",
> >> > > > >> > > > >    "type" : "nameAlias"
> >> > > > >> > > > > }, {
> >> > > > >> > > > >     "name" : "defaultAlias",
> >> > > > >> > > > >     "type" : "defaultAlias"
> >> > > > >> > > > > }, {
> >> > > > >> > > > >     "name" : "hostnameAlias",
> >> > > > >> > > > >     "type" : "hostnameAlias"
> >> > > > >> > > > > } ]
> >> > > > >> > > > >
> >> > > > >> > > > >
> >> > > > >> > > > > Let me know if this works for you, then we can look at
> >> some
> >> > of
> >> > > > >> your
> >> > > > >> > > other
> >> > > > >> > > > > questions.
> >> > > > >> > > > >
> >> > > > >> > > > > -- Rob
> >> > > > >> > > > >
> >> > > > >> > > > >
> >> > > > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> >> > > > >> > > rammohanganap@gmail.com
> >> > > > >> > > > >
> >> > > > >> > > > > wrote:
> >> > > > >> > > > >
> >> > > > >> > > > > > Rob,
> >> > > > >> > > > > >
> >> > > > >> > > > > > Also how do i pass logfile location as -prop as
> >> > commandline
> >> > > > >> > argument?
> >> > > > >> > > > or
> >> > > > >> > > > > > how do i change default log file location i know we
> can
> >> > > update
> >> > > > >> > > > log4j.xml
> >> > > > >> > > > > > but is there any other way?
> >> > > > >> > > > > >
> >> > > > >> > > > > > Ram
> >> > > > >> > > > > >
> >> > > > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan
> ganapavarapu
> >> <
> >> > > > >> > > > > > rammohanganap@gmail.com> wrote:
> >> > > > >> > > > > >
> >> > > > >> > > > > > > Rob,
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > I tried passing properties file as argument but it
> >> didnt
> >> > > > like
> >> > > > >> it.
> >> > > > >> > > > Does
> >> > > > >> > > > > it
> >> > > > >> > > > > > > support in 0.28v?
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> >> > > > >> > > > > > ../etc/qpidd.properties
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker
> -DQPID_WORK=/ebs/
> >> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > > > >> > -DQPID_LOG_APPEND=
> >> > > > >> > > > > > > Using QPID_CLASSPATH
> >> > > > >> > > > > > >
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> >> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> >> > > > -Xmx1024m
> >> > > > >> > > > > > > Exception during startup: java.lang.
> >> > > > IllegalArgumentException:
> >> > > > >> > > > > > > Configuration property argument is not of the
> format
> >> > > > >> name=value:
> >> > > > >> > > > > > > ../etc/qpidd.properties
> >> > > > >> > > > > > > java.lang.IllegalArgumentException: Configuration
> >> > > property
> >> > > > >> > argument
> >> > > > >> > > > is
> >> > > > >> > > > > > not
> >> > > > >> > > > > > > of the format name=value: ../etc/qpidd.properties
> >> > > > >> > > > > > >     at org.apache.qpid.server.Main.
> >> > execute(Main.java:226)
> >> > > > >> > > > > > >     at org.apache.qpid.server.Main.<
> >> > init>(Main.java:134)
> >> > > > >> > > > > > >     at org.apache.qpid.server.Main.ma
> >> in(Main.java:125)
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json
> -props
> >> > > > >> > > > > > > ../etc/qpidd.properties
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker
> -DQPID_WORK=/ebs/
> >> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > > > >> > -DQPID_LOG_APPEND=
> >> > > > >> > > > > > > Using QPID_CLASSPATH
> >> > > > >> > > > > > >
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> >> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> >> > > > -Xmx1024m
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > *Error: Unrecognized option: -props*
> >> > > > >> > > > > > > How do i change this block from initial
> >> configuration to
> >> > > use
> >> > > > >> > > > Anonymous?
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > {
> >> > > > >> > > > > > >   "name": "Broker",
> >> > > > >> > > > > > >   "storeVersion": 1,
> >> > > > >> > > > > > >   "modelVersion": "1.2",
> >> > > > >> > > > > > >   "defaultVirtualHost" : "default",
> >> > > > >> > > > > > >   "authenticationproviders" : [ {
> >> > > > >> > > > > > >     "name" : "passwordFile",
> >> > > > >> > > > > > >     "type" : "PlainPasswordFile",
> >> > > > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> >> > > > >> > > > > > >     "preferencesproviders" : [{
> >> > > > >> > > > > > >         "name": "fileSystemPreferences",
> >> > > > >> > > > > > >         "type": "FileSystemPreferences",
> >> > > > >> > > > > > >         "path" : "${qpid.work_dir}/user.
> >> > preferences.json"
> >> > > > >> > > > > > >     }]
> >> > > > >> > > > > > >   } ],
> >> > > > >> > > > > > >
> >> > > > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> >> > > > >> > > > rob.j.godfrey@gmail.com>
> >> > > > >> > > > > > > wrote:
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >> Hi Ram,
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> so one approach to this would be to define you
> >> > > > authentication
> >> > > > >> > > > > providers
> >> > > > >> > > > > > up
> >> > > > >> > > > > > >> from in your config file, so you have an an
> >> Anonymous
> >> > > > >> provider
> >> > > > >> > > named
> >> > > > >> > > > > > >> "anonymous" and a password file provider named
> >> > > > >> "passwordFile" or
> >> > > > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP,
> >> JMX,
> >> > > > etc)
> >> > > > >> you
> >> > > > >> > > can
> >> > > > >> > > > > > >> parameterise the value they have for the name of
> the
> >> > auth
> >> > > > >> > provider
> >> > > > >> > > > > they
> >> > > > >> > > > > > >> are
> >> > > > >> > > > > > >> using.  So your initial JSON config file could
> >> contain
> >> > > > >> something
> >> > > > >> > > > like:
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> "ports" : [  {
> >> > > > >> > > > > > >>   "name" : "AMQP",
> >> > > > >> > > > > > >>   "port" : "${qpid.amqp_port}",
> >> > > > >> > > > > > >>   "authenticationProvider" :
> >> > > > >> > > > > "${qpid.amqp_port_authenticationProvider}",
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> and then you could override which provider to use
> at
> >> > > > runtime
> >> > > > >> by
> >> > > > >> > > > > setting
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> >> > > > anonymous
> >> > > > >> or
> >> > > > >> > > > > > >> passwordFile
> >> > > > >> > > > > > >> (or the name of any other authentication provider
> >> that
> >> > is
> >> > > > >> > defined
> >> > > > >> > > in
> >> > > > >> > > > > > your
> >> > > > >> > > > > > >> JSON config.
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> The only thing you can't do with properties is to
> >> add
> >> > new
> >> > > > >> > entities
> >> > > > >> > > > > into
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> config - that you have to do either by editing the
> >> > file,
> >> > > or
> >> > > > >> by
> >> > > > >> > > using
> >> > > > >> > > > > the
> >> > > > >> > > > > > >> REST api to modify the broker configuration while
> >> it is
> >> > > > >> running.
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> Hope this helps,
> >> > > > >> > > > > > >> Rob
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> >> > > > >> > > > > > rammohanganap@gmail.com>
> >> > > > >> > > > > > >> wrote:
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >> > Rob,
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >> > Thanks for detailed explanation, i wanted to
> >> restart
> >> > > with
> >> > > > >> the
> >> > > > >> > > > > changed
> >> > > > >> > > > > > >> > properties if any for example today i have
> >> Anonymous
> >> > > SASL
> >> > > > >> and
> >> > > > >> > > > later
> >> > > > >> > > > > i
> >> > > > >> > > > > > >> may
> >> > > > >> > > > > > >> > want to use password file. How do i pass SASL
> >> > mechanism
> >> > > > as
> >> > > > >> > > -prop?
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >> > Thanks,
> >> > > > >> > > > > > >> > Ram
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> >> > > > >> > > > > rob.j.godfrey@gmail.com>
> >> > > > >> > > > > > >> > wrote:
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >> > > Hi Ram,
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > The initial config file is only used when
> there
> >> is
> >> > no
> >> > > > >> broker
> >> > > > >> > > > > config
> >> > > > >> > > > > > -
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> > > idea is that it is used to populate the broker
> >> > config
> >> > > > on
> >> > > > >> > first
> >> > > > >> > > > > > >> startup.
> >> > > > >> > > > > > >> > > Once there is a broker config file then this
> is
> >> > used
> >> > > > >> (since
> >> > > > >> > it
> >> > > > >> > > > may
> >> > > > >> > > > > > >> have
> >> > > > >> > > > > > >> > > been updated by creating or modifying entities
> >> > > through
> >> > > > >> the
> >> > > > >> > > > > > management
> >> > > > >> > > > > > >> > > functions).  The broker ships with a default
> >> > initial
> >> > > > >> config
> >> > > > >> > > > which
> >> > > > >> > > > > is
> >> > > > >> > > > > > >> > > contained within its jar files, however we
> allow
> >> > > people
> >> > > > >> to
> >> > > > >> > > > provide
> >> > > > >> > > > > > >> there
> >> > > > >> > > > > > >> > > own.  Records in the config file a copied
> >> verbatim
> >> > > into
> >> > > > >> the
> >> > > > >> > > > config
> >> > > > >> > > > > > >> store
> >> > > > >> > > > > > >> > -
> >> > > > >> > > > > > >> > > the only difference being that ids are
> generated
> >> > for
> >> > > > each
> >> > > > >> > > > entity.
> >> > > > >> > > > > > The
> >> > > > >> > > > > > >> > > interpolation from property names to values is
> >> done
> >> > > > each
> >> > > > >> > time
> >> > > > >> > > > the
> >> > > > >> > > > > > >> broker
> >> > > > >> > > > > > >> > > reads the config.  If the broker finds there
> is
> >> > > config
> >> > > > in
> >> > > > >> > the
> >> > > > >> > > > > store
> >> > > > >> > > > > > >> path
> >> > > > >> > > > > > >> > > then it completely ignores the initial config
> -
> >> it
> >> > > does
> >> > > > >> not
> >> > > > >> > > > > examine
> >> > > > >> > > > > > >> any
> >> > > > >> > > > > > >> > > differences.
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > Are you looking to start a completely fresh
> >> broker
> >> > > each
> >> > > > >> > time,
> >> > > > >> > > or
> >> > > > >> > > > > > >> merely
> >> > > > >> > > > > > >> > to
> >> > > > >> > > > > > >> > > be able to change certain properties (such as
> >> port
> >> > > > >> numbers)
> >> > > > >> > on
> >> > > > >> > > > > each
> >> > > > >> > > > > > >> > > restart?  If you do not want to retain any
> >> changes
> >> > to
> >> > > > the
> >> > > > >> > > broker
> >> > > > >> > > > > > >> > > configuration made while the broker is
> actually
> >> > > > running,
> >> > > > >> > then
> >> > > > >> > > > you
> >> > > > >> > > > > > >> could
> >> > > > >> > > > > > >> > use
> >> > > > >> > > > > > >> > > a "memory" config store rather than a Json
> >> one.  If
> >> > > you
> >> > > > >> want
> >> > > > >> > > to
> >> > > > >> > > > > > retain
> >> > > > >> > > > > > >> > any
> >> > > > >> > > > > > >> > > changes made through management, but desire
> the
> >> > > ability
> >> > > > >> to
> >> > > > >> > > > change
> >> > > > >> > > > > > >> certain
> >> > > > >> > > > > > >> > > properties (like ports) on each startup, then
> >> you
> >> > > don't
> >> > > > >> need
> >> > > > >> > > to
> >> > > > >> > > > > > worry
> >> > > > >> > > > > > >> > about
> >> > > > >> > > > > > >> > > the fact that the initial configuration is
> only
> >> > > loaded
> >> > > > >> the
> >> > > > >> > > first
> >> > > > >> > > > > > time
> >> > > > >> > > > > > >> -
> >> > > > >> > > > > > >> > you
> >> > > > >> > > > > > >> > > just need to pass in the property values you
> >> want
> >> > on
> >> > > > >> > startup.
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > In terms of an example system properties
> file...
> >> > The
> >> > > > >> > default
> >> > > > >> > > > > > >> > > initial-config.json defines the amqp port to
> be
> >> > > > >> > > > ${qpid.amqp_port}
> >> > > > >> > > > > > and
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
> >> > > create a
> >> > > > >> > > > properties
> >> > > > >> > > > > > >> file
> >> > > > >> > > > > > >> > > called rob.properties which contains
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > qpid.http_port=8888
> >> > > > >> > > > > > >> > > qpid.amqp_port=5555
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > and then run qpid with the argument -props
> >> > > > rob.properties
> >> > > > >> > > then I
> >> > > > >> > > > > > >> get...
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on
> TCP
> >> > port
> >> > > > 5555
> >> > > > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> >> > > > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP :
> Listening
> >> on
> >> > > TCP
> >> > > > >> port
> >> > > > >> > > 8888
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > So, when you use your initial or stored config
> >> you
> >> > > just
> >> > > > >> need
> >> > > > >> > > to
> >> > > > >> > > > > > ensure
> >> > > > >> > > > > > >> > all
> >> > > > >> > > > > > >> > > the variables you use in your config are set
> in
> >> > your
> >> > > > >> > > properties
> >> > > > >> > > > > file
> >> > > > >> > > > > > >> > (some
> >> > > > >> > > > > > >> > > properties have defaults within the code if
> they
> >> > are
> >> > > > not
> >> > > > >> > > > otherwise
> >> > > > >> > > > > > >> set -
> >> > > > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it
> >> is
> >> > not
> >> > > > set
> >> > > > >> > > > > > elsewhere).
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > Hope this helps,
> >> > > > >> > > > > > >> > > Rob
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan
> ganapavarapu
> >> <
> >> > > > >> > > > > > >> rammohanganap@gmail.com
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > wrote:
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> > > > Rob,
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > > > Thank you, one more question on -icp and
> -sp,
> >> so
> >> > > what
> >> > > > >> if i
> >> > > > >> > > > have
> >> > > > >> > > > > > >> updated
> >> > > > >> > > > > > >> > > icp
> >> > > > >> > > > > > >> > > > with some property change  and restarted
> >> broker
> >> > > with
> >> > > > >> icp
> >> > > > >> > > > (every
> >> > > > >> > > > > > >> time i
> >> > > > >> > > > > > >> > > > restart broker i am using initial config
> >> > > > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> >> > > > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not
> >> sure
> >> > if
> >> > > > >> its is
> >> > > > >> > > > right
> >> > > > >> > > > > > way
> >> > > > >> > > > > > >> or
> >> > > > >> > > > > > >> > > > not), does it automatically update config
> >> file in
> >> > > > -sp?
> >> > > > >> i
> >> > > > >> > my
> >> > > > >> > > > case
> >> > > > >> > > > > > it
> >> > > > >> > > > > > >> did
> >> > > > >> > > > > > >> > > not
> >> > > > >> > > > > > >> > > > updated the config file in store-path upon
> >> > restart.
> >> > > > >> What
> >> > > > >> > > will
> >> > > > >> > > > > > >> happened
> >> > > > >> > > > > > >> > > if i
> >> > > > >> > > > > > >> > > > have differences in initial config file
> that i
> >> > use
> >> > > to
> >> > > > >> > start
> >> > > > >> > > > > broker
> >> > > > >> > > > > > >> and
> >> > > > >> > > > > > >> > > the
> >> > > > >> > > > > > >> > > > config file under store-path?
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > > > Thanks,
> >> > > > >> > > > > > >> > > > Ram
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey
> <
> >> > > > >> > > > > > >> rob.j.godfrey@gmail.com>
> >> > > > >> > > > > > >> > > > wrote:
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > > > > This looks like a client error to me...
> the
> >> > line
> >> > > > >> which
> >> > > > >> > > says:
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > Out of interest what happens if you remove
> >> the
> >> > > > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> >> > > > >> > > > > > >> > > > from
> >> > > > >> > > > > > >> > > > > your connection URL?  Without any sort of
> >> > > > restriction
> >> > > > >> > I'd
> >> > > > >> > > > > expect
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> > > > client
> >> > > > >> > > > > > >> > > > > to do the right thing.
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > I need to get to sleep now (1am here :-)
> >> )...
> >> > > I'll
> >> > > > >> have
> >> > > > >> > > > deeper
> >> > > > >> > > > > > >> look
> >> > > > >> > > > > > >> > in
> >> > > > >> > > > > > >> > > > the
> >> > > > >> > > > > > >> > > > > morning.
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > -- Rob
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan
> >> > ganapavarapu <
> >> > > > >> > > > > > >> > > rammohanganap@gmail.com
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > wrote:
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > > > > Rob,
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > thanks for the explanation, do you have
> a
> >> > > sample
> >> > > > >> > > > > > >> > > > > --system-properties-file?
> >> > > > >> > > > > > >> > > > > > that i can take a look?
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my
> client/app
> >> is
> >> > > > >> throwing
> >> > > > >> > > this
> >> > > > >> > > > > > >> error, i
> >> > > > >> > > > > > >> > > am
> >> > > > >> > > > > > >> > > > > not
> >> > > > >> > > > > > >> > > > > > a developer, i am ops guy and i dont
> want
> >> to
> >> > > > change
> >> > > > >> > the
> >> > > > >> > > > > > existing
> >> > > > >> > > > > > >> > code
> >> > > > >> > > > > > >> > > > but
> >> > > > >> > > > > > >> > > > > > wanted to make java qpid work. This is
> the
> >> > > error
> >> > > > i
> >> > > > >> am
> >> > > > >> > > > > getting
> >> > > > >> > > > > > >> with
> >> > > > >> > > > > > >> > > > > 6.0.1v..
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > >> > > > > > ERROR
> >> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > > > >> > ConnectionImpl.openConnection() :
> >> > > > >> > > > > Error
> >> > > > >> > > > > > >> > > > connecting
> >> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >>
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > url=amqp://null:********@qphost011460067563391/?
> >> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> >> > > > >> sasl_mechs='ANONYMOUS''
> >> > > > >> > > > > > >> > > > > > error Unknown virtualhost ''
> username=null
> >> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > >> > > > > > ERROR
> >> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > > > >> > ConnectionImpl.openConnection() :
> >> > > > >> > > > > Error
> >> > > > >> > > > > > >> > > > connecting
> >> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >>
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> > url=amqp://null:********@qphost011460067563391/?
> >> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> >> > > > >> sasl_mechs='ANONYMOUS''
> >> > > > >> > > > > > >> > > > > > error Client and broker have no SASL
> >> > mechanisms
> >> > > > in
> >> > > > >> > > common.
> >> > > > >> > > > > > >> Broker
> >> > > > >> > > > > > >> > > > allows
> >> > > > >> > > > > > >> > > > > :
> >> > > > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL,
> GSSAPI,
> >> > > > >> > > CRAM-MD5-HASHED,
> >> > > > >> > > > > > >> > CRAM-MD5,
> >> > > > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client
> >> restricted
> >> > > > >> itself
> >> > > > >> > to
> >> > > > >> > > :
> >> > > > >> > > > > > PLAIN
> >> > > > >> > > > > > >> > > > > > username=guest
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > And here is my sasl mechanism.
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> >> > > > >> > > > > > >> > > > > > {
> >> > > > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> >> > > > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my
> app
> >> > but
> >> > > > >> 6.0.1
> >> > > > >> > is
> >> > > > >> > > > not
> >> > > > >> > > > > > >> > working.
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > Thanks,
> >> > > > >> > > > > > >> > > > > > Ram
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob
> >> Godfrey <
> >> > > > >> > > > > > >> > rob.j.godfrey@gmail.com
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > > > > > wrote:
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> >> > > > ganapavarapu <
> >> > > > >> > > > > > >> > > > > rammohanganap@gmail.com
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > wrote:
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > > Rob,
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> >> > > > >> > authentication?
> >> > > > >> > > > last
> >> > > > >> > > > > > >> time
> >> > > > >> > > > > > >> > > when
> >> > > > >> > > > > > >> > > > i
> >> > > > >> > > > > > >> > > > > > try
> >> > > > >> > > > > > >> > > > > > > to
> >> > > > >> > > > > > >> > > > > > > > use .32 it was not working with
> >> > Anonymous.
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which
> AMQP
> >> > > > protocol
> >> > > > >> > are
> >> > > > >> > > > you
> >> > > > >> > > > > > >> using
> >> > > > >> > > > > > >> > > > (0-9-1,
> >> > > > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
> >> > > Anonymous
> >> > > > >> > should
> >> > > > >> > > > work
> >> > > > >> > > > > > on
> >> > > > >> > > > > > >> > 0.32
> >> > > > >> > > > > > >> > > > > > however
> >> > > > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication
> >> > layer
> >> > > at
> >> > > > >> all"
> >> > > > >> > > > > option
> >> > > > >> > > > > > >> for
> >> > > > >> > > > > > >> > > AMQP
> >> > > > >> > > > > > >> > > > > 1.0
> >> > > > >> > > > > > >> > > > > > > probably didn't work (this is
> different
> >> to
> >> > an
> >> > > > >> > > > > authentication
> >> > > > >> > > > > > >> > layer
> >> > > > >> > > > > > >> > > > > which
> >> > > > >> > > > > > >> > > > > > > allows anonymous).
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
> >> > > email, i
> >> > > > >> was
> >> > > > >> > > > taking
> >> > > > >> > > > > > >> about
> >> > > > >> > > > > > >> > > > > > properties
> >> > > > >> > > > > > >> > > > > > > > file not broker storage format, the
> >> use
> >> > > case
> >> > > > is
> >> > > > >> > if i
> >> > > > >> > > > > > wanted
> >> > > > >> > > > > > >> to
> >> > > > >> > > > > > >> > > > > override
> >> > > > >> > > > > > >> > > > > > > > some of these properties and i have
> my
> >> > own
> >> > > > >> custom
> >> > > > >> > > > > > >> tool/script
> >> > > > >> > > > > > >> > > that
> >> > > > >> > > > > > >> > > > > > goes
> >> > > > >> > > > > > >> > > > > > > > through the properties files and
> >> replace
> >> > > with
> >> > > > >> the
> >> > > > >> > > > > > override i
> >> > > > >> > > > > > >> > > > defined,
> >> > > > >> > > > > > >> > > > > > so
> >> > > > >> > > > > > >> > > > > > > i
> >> > > > >> > > > > > >> > > > > > > > want to use the same tool/script for
> >> qpid
> >> > > > >> config
> >> > > > >> > as
> >> > > > >> > > > > well.
> >> > > > >> > > > > > My
> >> > > > >> > > > > > >> > tool
> >> > > > >> > > > > > >> > > > > only
> >> > > > >> > > > > > >> > > > > > > > support key:value but if we have
> json
> >> > array
> >> > > > it
> >> > > > >> > wont
> >> > > > >> > > > > work.
> >> > > > >> > > > > > So
> >> > > > >> > > > > > >> > if i
> >> > > > >> > > > > > >> > > > > want
> >> > > > >> > > > > > >> > > > > > to
> >> > > > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command
> >> line
> >> > > > >> arguments
> >> > > > >> > > what
> >> > > > >> > > > > are
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> > > > > > properties
> >> > > > >> > > > > > >> > > > > > > > that java qpid support as command
> >> line?
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > Below if my config, is it possible
> to
> >> > pass
> >> > > > all
> >> > > > >> > these
> >> > > > >> > > > as
> >> > > > >> > > > > > >> command
> >> > > > >> > > > > > >> > > > line
> >> > > > >> > > > > > >> > > > > > > > arguments?
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > {
> >> > > > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> >> > > > >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
> >> > > > >> 1f1b258ea3ac",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> >> > > > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> >> > > > >> > > > > > >> > > > > > > >   } ],
> >> > > > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> >> > > > >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
> >> > > > >> 268295f580bc",
> >> > > > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> >> > > > >> > > > > > >> > > > > > > >   "name" : "Broker",
> >> > > > >> > > > > > >> > > > > > > >   "plugins" : [ {
> >> > > > >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
> >> > > > >> 4cfd63266dbf",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> >> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> >> > > > >> > > > > > >> > > > > > > >   }, {
> >> > > > >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
> >> > > > >> 27a58fd2df89",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> >> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> >> > > > >> > > > > > >> > > > > > > >   } ],
> >> > > > >> > > > > > >> > > > > > > >   "ports" : [ {
> >> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> >> > "Anonymous",
> >> > > > >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
> >> > > > >> 8c452149cdae",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> >> > > > >> > > > > > >> > > > > > > >     "port" : "9099",
> >> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> >> > > > >> > > > > > >> > > > > > > >   }, {
> >> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> >> > "Anonymous",
> >> > > > >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
> >> > > > >> 75802f3b6553",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> >> > > > >> > > > > > >> > > > > > > >     "port" : "8999",
> >> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> >> > > > >> > > > > > >> > > > > > > >   }, {
> >> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> >> > "Anonymous",
> >> > > > >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
> >> > > > >> 3113b46157f9",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "AMQP",
> >> > > > >> > > > > > >> > > > > > > >     "port" : "5672"
> >> > > > >> > > > > > >> > > > > > > >   }, {
> >> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> >> > "Anonymous",
> >> > > > >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
> >> > > > >> f2606b5e4f6e",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "HTTP",
> >> > > > >> > > > > > >> > > > > > > >     "port" : "10001",
> >> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> >> > > > >> > > > > > >> > > > > > > >   } ],
> >> > > > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> >> > > > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> >> > > > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> >> > > > >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
> >> > > > >> fe2b34e54503",
> >> > > > >> > > > > > >> > > > > > > >     "name" : "default",
> >> > > > >> > > > > > >> > > > > > > >     "storePath" :
> >> > > "/ebs//derbystore/default",
> >> > > > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> >> > > > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> >> > > > >> > > > > > >> > > > > > > >   } ]
> >> > > > >> > > > > > >> > > > > > > > }
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > In 6.0 you can replace any value in
> the
> >> > JSON
> >> > > > >> with a
> >> > > > >> > > > > > reference
> >> > > > >> > > > > > >> to
> >> > > > >> > > > > > >> > a
> >> > > > >> > > > > > >> > > > > > > property, for example
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > "name" : "${myPortName}",
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > this will then interpolate the value
> >> from
> >> > the
> >> > > > >> > > property,
> >> > > > >> > > > so
> >> > > > >> > > > > > if
> >> > > > >> > > > > > >> you
> >> > > > >> > > > > > >> > > set
> >> > > > >> > > > > > >> > > > > the
> >> > > > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that
> >> will
> >> > > be
> >> > > > >> the
> >> > > > >> > > value
> >> > > > >> > > > > > used.
> >> > > > >> > > > > > >> > > Type
> >> > > > >> > > > > > >> > > > > > > conversions will be performed, so if
> the
> >> > > > required
> >> > > > >> > > value
> >> > > > >> > > > is
> >> > > > >> > > > > > an
> >> > > > >> > > > > > >> > > integer
> >> > > > >> > > > > > >> > > > > it
> >> > > > >> > > > > > >> > > > > > > will convert to an integer.  If the
> >> value
> >> > > > >> required
> >> > > > >> > is
> >> > > > >> > > a
> >> > > > >> > > > > list
> >> > > > >> > > > > > >> then
> >> > > > >> > > > > > >> > > you
> >> > > > >> > > > > > >> > > > > can
> >> > > > >> > > > > > >> > > > > > > use a String representation of a list
> in
> >> > Json
> >> > > > >> > format.
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > You can set the properties
> >> individually, or
> >> > > you
> >> > > > >> can
> >> > > > >> > > pass
> >> > > > >> > > > > in
> >> > > > >> > > > > > a
> >> > > > >> > > > > > >> > > > > properties
> >> > > > >> > > > > > >> > > > > > > file using -props or
> >> > --system-properties-file
> >> > > > >> (so if
> >> > > > >> > > you
> >> > > > >> > > > > > have
> >> > > > >> > > > > > >> a
> >> > > > >> > > > > > >> > > > > > properties
> >> > > > >> > > > > > >> > > > > > > file already maybe you can just pass
> >> this
> >> > > in).
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > > One more question or may be
> >> clarification
> >> > > is,
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of
> >> config
> >> > > > file
> >> > > > >> > that
> >> > > > >> > > > will
> >> > > > >> > > > > > >> > > generated
> >> > > > >> > > > > > >> > > > by
> >> > > > >> > > > > > >> > > > > > > qpidd
> >> > > > >> > > > > > >> > > > > > > > from the initial config right? what
> is
> >> > the
> >> > > > use
> >> > > > >> of
> >> > > > >> > > > > > >> store-path?*
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > That is correct.  Some people just
> like
> >> to
> >> > > have
> >> > > > >> > config
> >> > > > >> > > > > files
> >> > > > >> > > > > > >> in a
> >> > > > >> > > > > > >> > > > > > > non-default location :-)
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > Hope this helps,
> >> > > > >> > > > > > >> > > > > > > Rob
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > > > > *Thanks,*
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > *Ram*
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
> >> > > Godfrey <
> >> > > > >> > > > > > >> > > > rob.j.godfrey@gmail.com
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > > > > > wrote:
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I
> >> > would
> >> > > > >> > recommend
> >> > > > >> > > > > > >> updating
> >> > > > >> > > > > > >> > to
> >> > > > >> > > > > > >> > > > > v6.0.1
> >> > > > >> > > > > > >> > > > > > > if
> >> > > > >> > > > > > >> > > > > > > > > you can.
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand
> >> your
> >> > > > >> > question -
> >> > > > >> > > > are
> >> > > > >> > > > > > you
> >> > > > >> > > > > > >> > > asking
> >> > > > >> > > > > > >> > > > > > about
> >> > > > >> > > > > > >> > > > > > > > > overriding particular properties,
> or
> >> > the
> >> > > > >> storage
> >> > > > >> > > > > format
> >> > > > >> > > > > > >> for
> >> > > > >> > > > > > >> > the
> >> > > > >> > > > > > >> > > > > > broker
> >> > > > >> > > > > > >> > > > > > > > > configuration - these are two
> >> different
> >> > > > >> things.
> >> > > > >> > > In
> >> > > > >> > > > > > terms
> >> > > > >> > > > > > >> of
> >> > > > >> > > > > > >> > > > > > > properties /
> >> > > > >> > > > > > >> > > > > > > > > context overrides this can be
> >> specified
> >> > > > >> using a
> >> > > > >> > > > > > properties
> >> > > > >> > > > > > >> > file
> >> > > > >> > > > > > >> > > > (at
> >> > > > >> > > > > > >> > > > > > > least
> >> > > > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it
> >> worked
> >> > on
> >> > > > >> 0.28).
> >> > > > >> > > In
> >> > > > >> > > > > > >> terms of
> >> > > > >> > > > > > >> > > the
> >> > > > >> > > > > > >> > > > > > > > > configuration, JSON is currently
> the
> >> > only
> >> > > > >> text
> >> > > > >> > > based
> >> > > > >> > > > > > >> format
> >> > > > >> > > > > > >> > > > > > supported.
> >> > > > >> > > > > > >> > > > > > > > You
> >> > > > >> > > > > > >> > > > > > > > > can use a database for the broker
> >> > config
> >> > > > >> > storage,
> >> > > > >> > > > > there
> >> > > > >> > > > > > >> are
> >> > > > >> > > > > > >> > > built
> >> > > > >> > > > > > >> > > > > in
> >> > > > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB,
> >> and
> >> > > > generic
> >> > > > >> > JDBC
> >> > > > >> > > > > > config
> >> > > > >> > > > > > >> > > stores.
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > May I ask what advantage you would
> >> get
> >> > by
> >> > > > >> using
> >> > > > >> > > YAML
> >> > > > >> > > > > or
> >> > > > >> > > > > > >> > > > properties
> >> > > > >> > > > > > >> > > > > > > files
> >> > > > >> > > > > > >> > > > > > > > > instead of JSON?
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > -- Rob
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> >> > > > >> ganapavarapu
> >> > > > >> > <
> >> > > > >> > > > > > >> > > > > > > rammohanganap@gmail.com
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > wrote:
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > > Hi,
> >> > > > >> > > > > > >> > > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > > Is there any way to start
> >> > > qpid-java-0.28
> >> > > > >> > broker
> >> > > > >> > > > > using
> >> > > > >> > > > > > >> > > > .properties
> >> > > > >> > > > > > >> > > > > > > file
> >> > > > >> > > > > > >> > > > > > > > or
> >> > > > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of
> >> .json
> >> > > file?
> >> > > > >> or
> >> > > > >> > > what
> >> > > > >> > > > > are
> >> > > > >> > > > > > >> the
> >> > > > >> > > > > > >> > > other
> >> > > > >> > > > > > >> > > > > > ways
> >> > > > >> > > > > > >> > > > > > > to
> >> > > > >> > > > > > >> > > > > > > > > > pass override properties instead
> >> of
> >> > > JSON
> >> > > > >> > config
> >> > > > >> > > > > file?
> >> > > > >> > > > > > >> > > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > > > Thanks,
> >> > > > >> > > > > > >> > > > > > > > > > Ram
> >> > > > >> > > > > > >> > > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > > >
> >> > > > >> > > > > > >> > > > > > > >
> >> > > > >> > > > > > >> > > > > > >
> >> > > > >> > > > > > >> > > > > >
> >> > > > >> > > > > > >> > > > >
> >> > > > >> > > > > > >> > > >
> >> > > > >> > > > > > >> > >
> >> > > > >> > > > > > >> >
> >> > > > >> > > > > > >>
> >> > > > >> > > > > > >
> >> > > > >> > > > > > >
> >> > > > >> > > > > >
> >> > > > >> > > > >
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Any one have any idea why my jconsole is still asking for credentials even
though i have configured to use ANONYMOUS auth provider for jmx port?

On Fri, Aug 26, 2016 at 3:22 PM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Thank you Rob, i am also trying to configure JMX, i have added JMX ports
> in config and server listening on them but when i try to connect using
> connect string "service:jmx:rmi:///jndi/rmi://localhost:8999/jmxrmi" its
> asking me credentials but i configured to use Anonymous for that port
>
> Any idea?
>
>
>   }, {
>     "id" : "196b5a76-d552-4a38-9560-63a010bb40a0",
>     "name" : "JMX_CONNECTOR",
>     "type" : "JMX",
>     "authenticationProvider" : "ANONYMOUS",
>     "port" : "9099",
>     "lastUpdatedBy" : "admin",
>     "lastUpdatedTime" : 1472242532264,
>     "createdBy" : "admin",
>     "createdTime" : 1472242532264
>   }, {
>     "id" : "881b3b25-463d-4efe-8b27-0335525ea920",
>     "name" : "RMI_REGISTRY",
>     "type" : "RMI",
>     "port" : "8999",
>     "lastUpdatedBy" : "admin",
>     "lastUpdatedTime" : 1472242484471,
>     "createdBy" : "admin",
>     "createdTime" : 1472242484471
>   } ],
>
> On Fri, Aug 26, 2016 at 1:10 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> This page from the broker docs covers most aspects of memory
>> configuration:
>>
>> https://qpid.apache.org/releases/qpid-java-6.0.4/java-broker
>> /book/Java-Broker-Runtime-Memory.html
>>
>> Hope this helps,
>> Rob
>>
>> On 26 August 2016 at 20:49, rammohan ganapavarapu <
>> rammohanganap@gmail.com>
>> wrote:
>>
>> > Yes, i changed it to use Anonymous and its working now. Now i need some
>> > documents or suggestions on how to configure Mem settings and flow to
>> disk
>> > settings in config.json
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Fri, Aug 26, 2016 at 12:16 PM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > I assume that you have configured port 5672 to use the Plain auth
>> > provider
>> > > (each port can only be associated with a single auth provider - you
>> can
>> > add
>> > > other ports which use the a different auth provider).  The issue here
>> is
>> > > that by default the Java Broker will not allow PLAIN SASL over a
>> non-TLS
>> > > connection.  You can override this by changing the
>> "secureOnlyMechanisms"
>> > > attribute of the (password) auth provider.  Setting this value to the
>> > empty
>> > > list within the password auth provider section
>> > >
>> > >             "secureOnlyMechanisms" : [ ],
>> > >
>> > > in your json config file, will mean than PLAIN will be offered as a
>> > > mechanism.
>> > >
>> > > Alternatively you can change your port configuration to use you
>> anonymous
>> > > authentication provider, rather than the password provider.
>> > >
>> > > Hope this helps,
>> > > Rob
>> > >
>> > >
>> > > On 26 August 2016 at 19:27, rammohan ganapavarapu <
>> > rammohanganap@gmail.com
>> > > >
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > I have followed as you said and created a clean slate v6 broker and
>> > from
>> > > UI
>> > > > created two auth provides palin and anonimous but when i make this
>> api
>> > > call
>> > > > i am getting different sasl list
>> > > >
>> > > >  curl -s http://localhost:10001/service/sasl
>> > > > {
>> > > >   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
>> > > >
>> > > > and as you told you before my client is throwing this error, so
>> client
>> > > has
>> > > > a logic to try Plain with user  guest first if it doesn't work then
>> try
>> > > > anonymous. Since broker doesn't have any of those in its sasl list
>> may
>> > be
>> > > > its not able to connect?
>> > > >
>> > > >
>> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
>> > > > connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
>> > > [EXTERNAL,
>> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5,
>> PLAIN,
>> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
>> > > > username=guest
>> > > >
>> > > >
>> > > > and
>> > > >
>> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
>> > > > connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
>> > > [EXTERNAL,
>> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5,
>> PLAIN,
>> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to :
>> ANONYMOUS
>> > > > username=null
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
>> > > > rammohanganap@gmail.com> wrote:
>> > > >
>> > > > > Hi Rob,
>> > > > >
>> > > > > I did not get chance to try v6, i will try and let you know.
>> > > > >
>> > > > > Ram
>> > > > >
>> > > > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <
>> > rob.j.godfrey@gmail.com
>> > > >
>> > > > > wrote:
>> > > > >
>> > > > >> Hi Ram,
>> > > > >>
>> > > > >> have you got v6 working now?  The memory settings for the broker
>> > > depend
>> > > > >> upon which version you are using.  For version 6 there is a
>> > > > comprehensive
>> > > > >> discussion on memory allocation settings in the manual:
>> > > > >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
>> > > > >> broker/book/Java-Broker-Runtime-Memory.html
>> > > > >>
>> > > > >> Versions prior to v6 use memory (and threads) very differently.
>> > > > >>
>> > > > >> Hope this helps,
>> > > > >> Rob
>> > > > >>
>> > > > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
>> > > > rammohanganap@gmail.com
>> > > > >> >
>> > > > >> wrote:
>> > > > >>
>> > > > >> > Rob,
>> > > > >> >
>> > > > >> > One more question in the same context, what are the recommended
>> > JVM
>> > > > >> > settings for java broker? i am using default "-Xmx1024m" its
>> > working
>> > > > >> fine
>> > > > >> > but i wanted to follow the best practices. Please advice.
>> > > > >> >
>> > > > >> >
>> > > > >> > Thanks,
>> > > > >> > Ram
>> > > > >> >
>> > > > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
>> > > rob.j.godfrey@gmail.com
>> > > > >
>> > > > >> > wrote:
>> > > > >> >
>> > > > >> > > Hi Ram,
>> > > > >> > >
>> > > > >> > > Apologies, I've been having a few issues with my internet
>> > > provider.
>> > > > >> > >
>> > > > >> > > Can you try setting up an entirely clean install of Qpid
>> 6.0.1
>> > and
>> > > > >> > > configuring (through the UI) that to use ANONYMOUS, and then
>> > check
>> > > > >> your
>> > > > >> > > client can connect.
>> > > > >> > >
>> > > > >> > > This is what I did, and it works fine for me.
>> > > > >> > >
>> > > > >> > > For the rest of your requirements (like setting the log file
>> > > > location,
>> > > > >> > > etc.) you really want to be using version 6 or later.
>> > > > >> > >
>> > > > >> > > Cheers,
>> > > > >> > > Rob
>> > > > >> > >
>> > > > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
>> > > > >> > rammohanganap@gmail.com>
>> > > > >> > > wrote:
>> > > > >> > >
>> > > > >> > > > Rob,
>> > > > >> > > >
>> > > > >> > > > I have tried with virtualhost config that you have provided
>> > but
>> > > i
>> > > > am
>> > > > >> > > still
>> > > > >> > > > getting connection error. I would like to make it work with
>> > 6.0*
>> > > > >> > version
>> > > > >> > > > but at this point i need 0.28 version to make working, so
>> if
>> > you
>> > > > can
>> > > > >> > help
>> > > > >> > > > me to configure log location in 0.28 that would unblock me
>> for
>> > > > now.
>> > > > >> > > >
>> > > > >> > > > Thanks,
>> > > > >> > > > Ram
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
>> > > > >> > > S.QUEUECLIENTSERVICE -
>> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> > > Connection
>> > > > :
>> > > > >> 0
>> > > > >> > > Host =
>> > > > >> > > > localhost
>> > > > >> > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > >> > > > Not Connected. error Client and broker have no SASL
>> mechanisms
>> > > in
>> > > > >> > common.
>> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > > >> > > CRAM-MD5-HASHED,
>> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
>> itself
>> > > to
>> > > > :
>> > > > >> > PLAIN
>> > > > >> > > > username=guest
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > > >> > > S.QUEUECLIENTSERVICE -
>> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
>> queue
>> > > > null
>> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > > >> > > c.a.a.q.QueueBuilder -
>> > > > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
>> > > > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
>> > > > >> > > c.a.a.q.QueueBuilder -
>> > > > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
>> > > > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
>> > > > >> > > S.QUEUECLIENTSERVICE -
>> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> > > Connection
>> > > > :
>> > > > >> 0
>> > > > >> > > Host =
>> > > > >> > > > localhost
>> > > > >> > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> > > > >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > >> > > > Not Connected. error Unknown virtualhost '' username=null
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > > >> > > S.QUEUECLIENTSERVICE -
>> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
>> > > Connection
>> > > > :
>> > > > >> 0
>> > > > >> > > Host =
>> > > > >> > > > localhost
>> > > > >> > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > >> > > > Not Connected. error Client and broker have no SASL
>> mechanisms
>> > > in
>> > > > >> > common.
>> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > > >> > > CRAM-MD5-HASHED,
>> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
>> itself
>> > > to
>> > > > :
>> > > > >> > PLAIN
>> > > > >> > > > username=guest
>> > > > >> > > >
>> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > > >> > > S.QUEUECLIENTSERVICE -
>> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
>> queue
>> > > > null
>> > > > >> > > >
>> > > > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
>> > > > >> rob.j.godfrey@gmail.com>
>> > > > >> > > > wrote:
>> > > > >> > > >
>> > > > >> > > > > Hi Ram,
>> > > > >> > > > >
>> > > > >> > > > > in 6.0.x the log file location can be changed directly
>> > through
>> > > > the
>> > > > >> > > config
>> > > > >> > > > > json - I really think we should first concentrate on
>> getting
>> > > > that
>> > > > >> > > working
>> > > > >> > > > > for you.
>> > > > >> > > > >
>> > > > >> > > > > I've verified that using the 6.0.x client and broker
>> with a
>> > > URL
>> > > > >> > similar
>> > > > >> > > > to
>> > > > >> > > > > the one in your log file works for ANONYMOUS.
>> > > > >> > > > >
>> > > > >> > > > > Looking at your error output again I notice that there
>> seem
>> > > > >> actually
>> > > > >> > to
>> > > > >> > > > be
>> > > > >> > > > > two connection attempts, the first ends with:
>> > > > >> > > > >
>> > > > >> > > > > error Unknown virtualhost '' username=null
>> > > > >> > > > >
>> > > > >> > > > > Then we see the second failure with the "PLAIN" error.
>> That
>> > > > first
>> > > > >> > > error
>> > > > >> > > > > indicate that ANONYMOUS log in was actually successful,
>> > > however
>> > > > >> you
>> > > > >> > > were
>> > > > >> > > > > the running into the fact that no virtualhost is mapped
>> to
>> > the
>> > > > >> empty
>> > > > >> > > > > string.  That suggests to me that you don't have any
>> > > > >> > virtualhostaliases
>> > > > >> > > > > defined in your (AMQP) port config. I'd suggest that it
>> > would
>> > > > make
>> > > > >> > > sense
>> > > > >> > > > to
>> > > > >> > > > > craft an initial config based on the default initial
>> config
>> > > for
>> > > > >> 6.0.x
>> > > > >> > > > which
>> > > > >> > > > > will include a virtualhostaliases section in the AMQP
>> port
>> > > which
>> > > > >> > looks
>> > > > >> > > > > like:
>> > > > >> > > > >
>> > > > >> > > > > "virtualhostaliases" : [ {
>> > > > >> > > > >    "name" : "nameAlias",
>> > > > >> > > > >    "type" : "nameAlias"
>> > > > >> > > > > }, {
>> > > > >> > > > >     "name" : "defaultAlias",
>> > > > >> > > > >     "type" : "defaultAlias"
>> > > > >> > > > > }, {
>> > > > >> > > > >     "name" : "hostnameAlias",
>> > > > >> > > > >     "type" : "hostnameAlias"
>> > > > >> > > > > } ]
>> > > > >> > > > >
>> > > > >> > > > >
>> > > > >> > > > > Let me know if this works for you, then we can look at
>> some
>> > of
>> > > > >> your
>> > > > >> > > other
>> > > > >> > > > > questions.
>> > > > >> > > > >
>> > > > >> > > > > -- Rob
>> > > > >> > > > >
>> > > > >> > > > >
>> > > > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
>> > > > >> > > rammohanganap@gmail.com
>> > > > >> > > > >
>> > > > >> > > > > wrote:
>> > > > >> > > > >
>> > > > >> > > > > > Rob,
>> > > > >> > > > > >
>> > > > >> > > > > > Also how do i pass logfile location as -prop as
>> > commandline
>> > > > >> > argument?
>> > > > >> > > > or
>> > > > >> > > > > > how do i change default log file location i know we can
>> > > update
>> > > > >> > > > log4j.xml
>> > > > >> > > > > > but is there any other way?
>> > > > >> > > > > >
>> > > > >> > > > > > Ram
>> > > > >> > > > > >
>> > > > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu
>> <
>> > > > >> > > > > > rammohanganap@gmail.com> wrote:
>> > > > >> > > > > >
>> > > > >> > > > > > > Rob,
>> > > > >> > > > > > >
>> > > > >> > > > > > > I tried passing properties file as argument but it
>> didnt
>> > > > like
>> > > > >> it.
>> > > > >> > > > Does
>> > > > >> > > > > it
>> > > > >> > > > > > > support in 0.28v?
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
>> > > > >> > > > > > ../etc/qpidd.properties
>> > > > >> > > > > > >
>> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > > > >> > -DQPID_LOG_APPEND=
>> > > > >> > > > > > > Using QPID_CLASSPATH
>> > > > >> > > > > > >
>> > > > >> > > > > >
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
>> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > >> > > > > -XX:+UseConcMarkSweepGC
>> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
>> > > > -Xmx1024m
>> > > > >> > > > > > > Exception during startup: java.lang.
>> > > > IllegalArgumentException:
>> > > > >> > > > > > > Configuration property argument is not of the format
>> > > > >> name=value:
>> > > > >> > > > > > > ../etc/qpidd.properties
>> > > > >> > > > > > > java.lang.IllegalArgumentException: Configuration
>> > > property
>> > > > >> > argument
>> > > > >> > > > is
>> > > > >> > > > > > not
>> > > > >> > > > > > > of the format name=value: ../etc/qpidd.properties
>> > > > >> > > > > > >     at org.apache.qpid.server.Main.
>> > execute(Main.java:226)
>> > > > >> > > > > > >     at org.apache.qpid.server.Main.<
>> > init>(Main.java:134)
>> > > > >> > > > > > >     at org.apache.qpid.server.Main.ma
>> in(Main.java:125)
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
>> > > > >> > > > > > > ../etc/qpidd.properties
>> > > > >> > > > > > >
>> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > > > >> > -DQPID_LOG_APPEND=
>> > > > >> > > > > > > Using QPID_CLASSPATH
>> > > > >> > > > > > >
>> > > > >> > > > > >
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
>> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > >> > > > > -XX:+UseConcMarkSweepGC
>> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
>> > > > -Xmx1024m
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > > > *Error: Unrecognized option: -props*
>> > > > >> > > > > > > How do i change this block from initial
>> configuration to
>> > > use
>> > > > >> > > > Anonymous?
>> > > > >> > > > > > >
>> > > > >> > > > > > > {
>> > > > >> > > > > > >   "name": "Broker",
>> > > > >> > > > > > >   "storeVersion": 1,
>> > > > >> > > > > > >   "modelVersion": "1.2",
>> > > > >> > > > > > >   "defaultVirtualHost" : "default",
>> > > > >> > > > > > >   "authenticationproviders" : [ {
>> > > > >> > > > > > >     "name" : "passwordFile",
>> > > > >> > > > > > >     "type" : "PlainPasswordFile",
>> > > > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
>> > > > >> > > > > > >     "preferencesproviders" : [{
>> > > > >> > > > > > >         "name": "fileSystemPreferences",
>> > > > >> > > > > > >         "type": "FileSystemPreferences",
>> > > > >> > > > > > >         "path" : "${qpid.work_dir}/user.
>> > preferences.json"
>> > > > >> > > > > > >     }]
>> > > > >> > > > > > >   } ],
>> > > > >> > > > > > >
>> > > > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
>> > > > >> > > > rob.j.godfrey@gmail.com>
>> > > > >> > > > > > > wrote:
>> > > > >> > > > > > >
>> > > > >> > > > > > >> Hi Ram,
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> so one approach to this would be to define you
>> > > > authentication
>> > > > >> > > > > providers
>> > > > >> > > > > > up
>> > > > >> > > > > > >> from in your config file, so you have an an
>> Anonymous
>> > > > >> provider
>> > > > >> > > named
>> > > > >> > > > > > >> "anonymous" and a password file provider named
>> > > > >> "passwordFile" or
>> > > > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP,
>> JMX,
>> > > > etc)
>> > > > >> you
>> > > > >> > > can
>> > > > >> > > > > > >> parameterise the value they have for the name of the
>> > auth
>> > > > >> > provider
>> > > > >> > > > > they
>> > > > >> > > > > > >> are
>> > > > >> > > > > > >> using.  So your initial JSON config file could
>> contain
>> > > > >> something
>> > > > >> > > > like:
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> "ports" : [  {
>> > > > >> > > > > > >>   "name" : "AMQP",
>> > > > >> > > > > > >>   "port" : "${qpid.amqp_port}",
>> > > > >> > > > > > >>   "authenticationProvider" :
>> > > > >> > > > > "${qpid.amqp_port_authenticationProvider}",
>> > > > >> > > > > > >>
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> and then you could override which provider to use at
>> > > > runtime
>> > > > >> by
>> > > > >> > > > > setting
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
>> > > > anonymous
>> > > > >> or
>> > > > >> > > > > > >> passwordFile
>> > > > >> > > > > > >> (or the name of any other authentication provider
>> that
>> > is
>> > > > >> > defined
>> > > > >> > > in
>> > > > >> > > > > > your
>> > > > >> > > > > > >> JSON config.
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> The only thing you can't do with properties is to
>> add
>> > new
>> > > > >> > entities
>> > > > >> > > > > into
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> config - that you have to do either by editing the
>> > file,
>> > > or
>> > > > >> by
>> > > > >> > > using
>> > > > >> > > > > the
>> > > > >> > > > > > >> REST api to modify the broker configuration while
>> it is
>> > > > >> running.
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> Hope this helps,
>> > > > >> > > > > > >> Rob
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
>> > > > >> > > > > > rammohanganap@gmail.com>
>> > > > >> > > > > > >> wrote:
>> > > > >> > > > > > >>
>> > > > >> > > > > > >> > Rob,
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >> > Thanks for detailed explanation, i wanted to
>> restart
>> > > with
>> > > > >> the
>> > > > >> > > > > changed
>> > > > >> > > > > > >> > properties if any for example today i have
>> Anonymous
>> > > SASL
>> > > > >> and
>> > > > >> > > > later
>> > > > >> > > > > i
>> > > > >> > > > > > >> may
>> > > > >> > > > > > >> > want to use password file. How do i pass SASL
>> > mechanism
>> > > > as
>> > > > >> > > -prop?
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >> > Thanks,
>> > > > >> > > > > > >> > Ram
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
>> > > > >> > > > > rob.j.godfrey@gmail.com>
>> > > > >> > > > > > >> > wrote:
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >> > > Hi Ram,
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > The initial config file is only used when there
>> is
>> > no
>> > > > >> broker
>> > > > >> > > > > config
>> > > > >> > > > > > -
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> > > idea is that it is used to populate the broker
>> > config
>> > > > on
>> > > > >> > first
>> > > > >> > > > > > >> startup.
>> > > > >> > > > > > >> > > Once there is a broker config file then this is
>> > used
>> > > > >> (since
>> > > > >> > it
>> > > > >> > > > may
>> > > > >> > > > > > >> have
>> > > > >> > > > > > >> > > been updated by creating or modifying entities
>> > > through
>> > > > >> the
>> > > > >> > > > > > management
>> > > > >> > > > > > >> > > functions).  The broker ships with a default
>> > initial
>> > > > >> config
>> > > > >> > > > which
>> > > > >> > > > > is
>> > > > >> > > > > > >> > > contained within its jar files, however we allow
>> > > people
>> > > > >> to
>> > > > >> > > > provide
>> > > > >> > > > > > >> there
>> > > > >> > > > > > >> > > own.  Records in the config file a copied
>> verbatim
>> > > into
>> > > > >> the
>> > > > >> > > > config
>> > > > >> > > > > > >> store
>> > > > >> > > > > > >> > -
>> > > > >> > > > > > >> > > the only difference being that ids are generated
>> > for
>> > > > each
>> > > > >> > > > entity.
>> > > > >> > > > > > The
>> > > > >> > > > > > >> > > interpolation from property names to values is
>> done
>> > > > each
>> > > > >> > time
>> > > > >> > > > the
>> > > > >> > > > > > >> broker
>> > > > >> > > > > > >> > > reads the config.  If the broker finds there is
>> > > config
>> > > > in
>> > > > >> > the
>> > > > >> > > > > store
>> > > > >> > > > > > >> path
>> > > > >> > > > > > >> > > then it completely ignores the initial config -
>> it
>> > > does
>> > > > >> not
>> > > > >> > > > > examine
>> > > > >> > > > > > >> any
>> > > > >> > > > > > >> > > differences.
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > Are you looking to start a completely fresh
>> broker
>> > > each
>> > > > >> > time,
>> > > > >> > > or
>> > > > >> > > > > > >> merely
>> > > > >> > > > > > >> > to
>> > > > >> > > > > > >> > > be able to change certain properties (such as
>> port
>> > > > >> numbers)
>> > > > >> > on
>> > > > >> > > > > each
>> > > > >> > > > > > >> > > restart?  If you do not want to retain any
>> changes
>> > to
>> > > > the
>> > > > >> > > broker
>> > > > >> > > > > > >> > > configuration made while the broker is actually
>> > > > running,
>> > > > >> > then
>> > > > >> > > > you
>> > > > >> > > > > > >> could
>> > > > >> > > > > > >> > use
>> > > > >> > > > > > >> > > a "memory" config store rather than a Json
>> one.  If
>> > > you
>> > > > >> want
>> > > > >> > > to
>> > > > >> > > > > > retain
>> > > > >> > > > > > >> > any
>> > > > >> > > > > > >> > > changes made through management, but desire the
>> > > ability
>> > > > >> to
>> > > > >> > > > change
>> > > > >> > > > > > >> certain
>> > > > >> > > > > > >> > > properties (like ports) on each startup, then
>> you
>> > > don't
>> > > > >> need
>> > > > >> > > to
>> > > > >> > > > > > worry
>> > > > >> > > > > > >> > about
>> > > > >> > > > > > >> > > the fact that the initial configuration is only
>> > > loaded
>> > > > >> the
>> > > > >> > > first
>> > > > >> > > > > > time
>> > > > >> > > > > > >> -
>> > > > >> > > > > > >> > you
>> > > > >> > > > > > >> > > just need to pass in the property values you
>> want
>> > on
>> > > > >> > startup.
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > In terms of an example system properties file...
>> > The
>> > > > >> > default
>> > > > >> > > > > > >> > > initial-config.json defines the amqp port to be
>> > > > >> > > > ${qpid.amqp_port}
>> > > > >> > > > > > and
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
>> > > create a
>> > > > >> > > > properties
>> > > > >> > > > > > >> file
>> > > > >> > > > > > >> > > called rob.properties which contains
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > qpid.http_port=8888
>> > > > >> > > > > > >> > > qpid.amqp_port=5555
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > and then run qpid with the argument -props
>> > > > rob.properties
>> > > > >> > > then I
>> > > > >> > > > > > >> get...
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP
>> > port
>> > > > 5555
>> > > > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
>> > > > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening
>> on
>> > > TCP
>> > > > >> port
>> > > > >> > > 8888
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > So, when you use your initial or stored config
>> you
>> > > just
>> > > > >> need
>> > > > >> > > to
>> > > > >> > > > > > ensure
>> > > > >> > > > > > >> > all
>> > > > >> > > > > > >> > > the variables you use in your config are set in
>> > your
>> > > > >> > > properties
>> > > > >> > > > > file
>> > > > >> > > > > > >> > (some
>> > > > >> > > > > > >> > > properties have defaults within the code if they
>> > are
>> > > > not
>> > > > >> > > > otherwise
>> > > > >> > > > > > >> set -
>> > > > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it
>> is
>> > not
>> > > > set
>> > > > >> > > > > > elsewhere).
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > Hope this helps,
>> > > > >> > > > > > >> > > Rob
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu
>> <
>> > > > >> > > > > > >> rammohanganap@gmail.com
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > wrote:
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> > > > Rob,
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > > > Thank you, one more question on -icp and -sp,
>> so
>> > > what
>> > > > >> if i
>> > > > >> > > > have
>> > > > >> > > > > > >> updated
>> > > > >> > > > > > >> > > icp
>> > > > >> > > > > > >> > > > with some property change  and restarted
>> broker
>> > > with
>> > > > >> icp
>> > > > >> > > > (every
>> > > > >> > > > > > >> time i
>> > > > >> > > > > > >> > > > restart broker i am using initial config
>> > > > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not
>> sure
>> > if
>> > > > >> its is
>> > > > >> > > > right
>> > > > >> > > > > > way
>> > > > >> > > > > > >> or
>> > > > >> > > > > > >> > > > not), does it automatically update config
>> file in
>> > > > -sp?
>> > > > >> i
>> > > > >> > my
>> > > > >> > > > case
>> > > > >> > > > > > it
>> > > > >> > > > > > >> did
>> > > > >> > > > > > >> > > not
>> > > > >> > > > > > >> > > > updated the config file in store-path upon
>> > restart.
>> > > > >> What
>> > > > >> > > will
>> > > > >> > > > > > >> happened
>> > > > >> > > > > > >> > > if i
>> > > > >> > > > > > >> > > > have differences in initial config file that i
>> > use
>> > > to
>> > > > >> > start
>> > > > >> > > > > broker
>> > > > >> > > > > > >> and
>> > > > >> > > > > > >> > > the
>> > > > >> > > > > > >> > > > config file under store-path?
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > > > Thanks,
>> > > > >> > > > > > >> > > > Ram
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> > > > >> > > > > > >> rob.j.godfrey@gmail.com>
>> > > > >> > > > > > >> > > > wrote:
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > > > > This looks like a client error to me... the
>> > line
>> > > > >> which
>> > > > >> > > says:
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > Out of interest what happens if you remove
>> the
>> > > > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
>> > > > >> > > > > > >> > > > from
>> > > > >> > > > > > >> > > > > your connection URL?  Without any sort of
>> > > > restriction
>> > > > >> > I'd
>> > > > >> > > > > expect
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> > > > client
>> > > > >> > > > > > >> > > > > to do the right thing.
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > I need to get to sleep now (1am here :-)
>> )...
>> > > I'll
>> > > > >> have
>> > > > >> > > > deeper
>> > > > >> > > > > > >> look
>> > > > >> > > > > > >> > in
>> > > > >> > > > > > >> > > > the
>> > > > >> > > > > > >> > > > > morning.
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > -- Rob
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan
>> > ganapavarapu <
>> > > > >> > > > > > >> > > rammohanganap@gmail.com
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > wrote:
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > > > > Rob,
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > thanks for the explanation, do you have a
>> > > sample
>> > > > >> > > > > > >> > > > > --system-properties-file?
>> > > > >> > > > > > >> > > > > > that i can take a look?
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app
>> is
>> > > > >> throwing
>> > > > >> > > this
>> > > > >> > > > > > >> error, i
>> > > > >> > > > > > >> > > am
>> > > > >> > > > > > >> > > > > not
>> > > > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want
>> to
>> > > > change
>> > > > >> > the
>> > > > >> > > > > > existing
>> > > > >> > > > > > >> > code
>> > > > >> > > > > > >> > > > but
>> > > > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
>> > > error
>> > > > i
>> > > > >> am
>> > > > >> > > > > getting
>> > > > >> > > > > > >> with
>> > > > >> > > > > > >> > > > > 6.0.1v..
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > >> > > > > > ERROR
>> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > > > >> > ConnectionImpl.openConnection() :
>> > > > >> > > > > Error
>> > > > >> > > > > > >> > > > connecting
>> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >>
>> > > > >> > > > > >
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > url=amqp://null:********@qphost011460067563391/?
>> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
>> > > > >> sasl_mechs='ANONYMOUS''
>> > > > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
>> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > >> > > > > > ERROR
>> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > > > >> > ConnectionImpl.openConnection() :
>> > > > >> > > > > Error
>> > > > >> > > > > > >> > > > connecting
>> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >>
>> > > > >> > > > > >
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> > url=amqp://null:********@qphost011460067563391/?
>> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
>> > > > >> sasl_mechs='ANONYMOUS''
>> > > > >> > > > > > >> > > > > > error Client and broker have no SASL
>> > mechanisms
>> > > > in
>> > > > >> > > common.
>> > > > >> > > > > > >> Broker
>> > > > >> > > > > > >> > > > allows
>> > > > >> > > > > > >> > > > > :
>> > > > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > > >> > > CRAM-MD5-HASHED,
>> > > > >> > > > > > >> > CRAM-MD5,
>> > > > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client
>> restricted
>> > > > >> itself
>> > > > >> > to
>> > > > >> > > :
>> > > > >> > > > > > PLAIN
>> > > > >> > > > > > >> > > > > > username=guest
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > And here is my sasl mechanism.
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
>> > > > >> > > > > > >> > > > > > {
>> > > > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
>> > > > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app
>> > but
>> > > > >> 6.0.1
>> > > > >> > is
>> > > > >> > > > not
>> > > > >> > > > > > >> > working.
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > Thanks,
>> > > > >> > > > > > >> > > > > > Ram
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob
>> Godfrey <
>> > > > >> > > > > > >> > rob.j.godfrey@gmail.com
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > > > > > wrote:
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
>> > > > ganapavarapu <
>> > > > >> > > > > > >> > > > > rammohanganap@gmail.com
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > wrote:
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > > Rob,
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
>> > > > >> > authentication?
>> > > > >> > > > last
>> > > > >> > > > > > >> time
>> > > > >> > > > > > >> > > when
>> > > > >> > > > > > >> > > > i
>> > > > >> > > > > > >> > > > > > try
>> > > > >> > > > > > >> > > > > > > to
>> > > > >> > > > > > >> > > > > > > > use .32 it was not working with
>> > Anonymous.
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
>> > > > protocol
>> > > > >> > are
>> > > > >> > > > you
>> > > > >> > > > > > >> using
>> > > > >> > > > > > >> > > > (0-9-1,
>> > > > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
>> > > Anonymous
>> > > > >> > should
>> > > > >> > > > work
>> > > > >> > > > > > on
>> > > > >> > > > > > >> > 0.32
>> > > > >> > > > > > >> > > > > > however
>> > > > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication
>> > layer
>> > > at
>> > > > >> all"
>> > > > >> > > > > option
>> > > > >> > > > > > >> for
>> > > > >> > > > > > >> > > AMQP
>> > > > >> > > > > > >> > > > > 1.0
>> > > > >> > > > > > >> > > > > > > probably didn't work (this is different
>> to
>> > an
>> > > > >> > > > > authentication
>> > > > >> > > > > > >> > layer
>> > > > >> > > > > > >> > > > > which
>> > > > >> > > > > > >> > > > > > > allows anonymous).
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
>> > > email, i
>> > > > >> was
>> > > > >> > > > taking
>> > > > >> > > > > > >> about
>> > > > >> > > > > > >> > > > > > properties
>> > > > >> > > > > > >> > > > > > > > file not broker storage format, the
>> use
>> > > case
>> > > > is
>> > > > >> > if i
>> > > > >> > > > > > wanted
>> > > > >> > > > > > >> to
>> > > > >> > > > > > >> > > > > override
>> > > > >> > > > > > >> > > > > > > > some of these properties and i have my
>> > own
>> > > > >> custom
>> > > > >> > > > > > >> tool/script
>> > > > >> > > > > > >> > > that
>> > > > >> > > > > > >> > > > > > goes
>> > > > >> > > > > > >> > > > > > > > through the properties files and
>> replace
>> > > with
>> > > > >> the
>> > > > >> > > > > > override i
>> > > > >> > > > > > >> > > > defined,
>> > > > >> > > > > > >> > > > > > so
>> > > > >> > > > > > >> > > > > > > i
>> > > > >> > > > > > >> > > > > > > > want to use the same tool/script for
>> qpid
>> > > > >> config
>> > > > >> > as
>> > > > >> > > > > well.
>> > > > >> > > > > > My
>> > > > >> > > > > > >> > tool
>> > > > >> > > > > > >> > > > > only
>> > > > >> > > > > > >> > > > > > > > support key:value but if we have json
>> > array
>> > > > it
>> > > > >> > wont
>> > > > >> > > > > work.
>> > > > >> > > > > > So
>> > > > >> > > > > > >> > if i
>> > > > >> > > > > > >> > > > > want
>> > > > >> > > > > > >> > > > > > to
>> > > > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command
>> line
>> > > > >> arguments
>> > > > >> > > what
>> > > > >> > > > > are
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> > > > > > properties
>> > > > >> > > > > > >> > > > > > > > that java qpid support as command
>> line?
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > Below if my config, is it possible to
>> > pass
>> > > > all
>> > > > >> > these
>> > > > >> > > > as
>> > > > >> > > > > > >> command
>> > > > >> > > > > > >> > > > line
>> > > > >> > > > > > >> > > > > > > > arguments?
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > {
>> > > > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
>> > > > >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
>> > > > >> 1f1b258ea3ac",
>> > > > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
>> > > > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
>> > > > >> > > > > > >> > > > > > > >   } ],
>> > > > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
>> > > > >> 268295f580bc",
>> > > > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
>> > > > >> > > > > > >> > > > > > > >   "name" : "Broker",
>> > > > >> > > > > > >> > > > > > > >   "plugins" : [ {
>> > > > >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
>> > > > >> 4cfd63266dbf",
>> > > > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
>> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > >> > > > > > >> > > > > > > >   }, {
>> > > > >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
>> > > > >> 27a58fd2df89",
>> > > > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
>> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > >> > > > > > >> > > > > > > >   } ],
>> > > > >> > > > > > >> > > > > > > >   "ports" : [ {
>> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> > "Anonymous",
>> > > > >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
>> > > > >> 8c452149cdae",
>> > > > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > >> > > > > > >> > > > > > > >     "port" : "9099",
>> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > >> > > > > > >> > > > > > > >   }, {
>> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> > "Anonymous",
>> > > > >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
>> > > > >> 75802f3b6553",
>> > > > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > >> > > > > > >> > > > > > > >     "port" : "8999",
>> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > >> > > > > > >> > > > > > > >   }, {
>> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> > "Anonymous",
>> > > > >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
>> > > > >> 3113b46157f9",
>> > > > >> > > > > > >> > > > > > > >     "name" : "AMQP",
>> > > > >> > > > > > >> > > > > > > >     "port" : "5672"
>> > > > >> > > > > > >> > > > > > > >   }, {
>> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
>> > "Anonymous",
>> > > > >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
>> > > > >> f2606b5e4f6e",
>> > > > >> > > > > > >> > > > > > > >     "name" : "HTTP",
>> > > > >> > > > > > >> > > > > > > >     "port" : "10001",
>> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > >> > > > > > >> > > > > > > >   } ],
>> > > > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
>> > > > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
>> > > > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
>> > > > >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
>> > > > >> fe2b34e54503",
>> > > > >> > > > > > >> > > > > > > >     "name" : "default",
>> > > > >> > > > > > >> > > > > > > >     "storePath" :
>> > > "/ebs//derbystore/default",
>> > > > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
>> > > > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
>> > > > >> > > > > > >> > > > > > > >   } ]
>> > > > >> > > > > > >> > > > > > > > }
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the
>> > JSON
>> > > > >> with a
>> > > > >> > > > > > reference
>> > > > >> > > > > > >> to
>> > > > >> > > > > > >> > a
>> > > > >> > > > > > >> > > > > > > property, for example
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > "name" : "${myPortName}",
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > this will then interpolate the value
>> from
>> > the
>> > > > >> > > property,
>> > > > >> > > > so
>> > > > >> > > > > > if
>> > > > >> > > > > > >> you
>> > > > >> > > > > > >> > > set
>> > > > >> > > > > > >> > > > > the
>> > > > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that
>> will
>> > > be
>> > > > >> the
>> > > > >> > > value
>> > > > >> > > > > > used.
>> > > > >> > > > > > >> > > Type
>> > > > >> > > > > > >> > > > > > > conversions will be performed, so if the
>> > > > required
>> > > > >> > > value
>> > > > >> > > > is
>> > > > >> > > > > > an
>> > > > >> > > > > > >> > > integer
>> > > > >> > > > > > >> > > > > it
>> > > > >> > > > > > >> > > > > > > will convert to an integer.  If the
>> value
>> > > > >> required
>> > > > >> > is
>> > > > >> > > a
>> > > > >> > > > > list
>> > > > >> > > > > > >> then
>> > > > >> > > > > > >> > > you
>> > > > >> > > > > > >> > > > > can
>> > > > >> > > > > > >> > > > > > > use a String representation of a list in
>> > Json
>> > > > >> > format.
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > You can set the properties
>> individually, or
>> > > you
>> > > > >> can
>> > > > >> > > pass
>> > > > >> > > > > in
>> > > > >> > > > > > a
>> > > > >> > > > > > >> > > > > properties
>> > > > >> > > > > > >> > > > > > > file using -props or
>> > --system-properties-file
>> > > > >> (so if
>> > > > >> > > you
>> > > > >> > > > > > have
>> > > > >> > > > > > >> a
>> > > > >> > > > > > >> > > > > > properties
>> > > > >> > > > > > >> > > > > > > file already maybe you can just pass
>> this
>> > > in).
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > > One more question or may be
>> clarification
>> > > is,
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of
>> config
>> > > > file
>> > > > >> > that
>> > > > >> > > > will
>> > > > >> > > > > > >> > > generated
>> > > > >> > > > > > >> > > > by
>> > > > >> > > > > > >> > > > > > > qpidd
>> > > > >> > > > > > >> > > > > > > > from the initial config right? what is
>> > the
>> > > > use
>> > > > >> of
>> > > > >> > > > > > >> store-path?*
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > That is correct.  Some people just like
>> to
>> > > have
>> > > > >> > config
>> > > > >> > > > > files
>> > > > >> > > > > > >> in a
>> > > > >> > > > > > >> > > > > > > non-default location :-)
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > Hope this helps,
>> > > > >> > > > > > >> > > > > > > Rob
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > > > > *Thanks,*
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > *Ram*
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
>> > > Godfrey <
>> > > > >> > > > > > >> > > > rob.j.godfrey@gmail.com
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > > > > > wrote:
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I
>> > would
>> > > > >> > recommend
>> > > > >> > > > > > >> updating
>> > > > >> > > > > > >> > to
>> > > > >> > > > > > >> > > > > v6.0.1
>> > > > >> > > > > > >> > > > > > > if
>> > > > >> > > > > > >> > > > > > > > > you can.
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand
>> your
>> > > > >> > question -
>> > > > >> > > > are
>> > > > >> > > > > > you
>> > > > >> > > > > > >> > > asking
>> > > > >> > > > > > >> > > > > > about
>> > > > >> > > > > > >> > > > > > > > > overriding particular properties, or
>> > the
>> > > > >> storage
>> > > > >> > > > > format
>> > > > >> > > > > > >> for
>> > > > >> > > > > > >> > the
>> > > > >> > > > > > >> > > > > > broker
>> > > > >> > > > > > >> > > > > > > > > configuration - these are two
>> different
>> > > > >> things.
>> > > > >> > > In
>> > > > >> > > > > > terms
>> > > > >> > > > > > >> of
>> > > > >> > > > > > >> > > > > > > properties /
>> > > > >> > > > > > >> > > > > > > > > context overrides this can be
>> specified
>> > > > >> using a
>> > > > >> > > > > > properties
>> > > > >> > > > > > >> > file
>> > > > >> > > > > > >> > > > (at
>> > > > >> > > > > > >> > > > > > > least
>> > > > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it
>> worked
>> > on
>> > > > >> 0.28).
>> > > > >> > > In
>> > > > >> > > > > > >> terms of
>> > > > >> > > > > > >> > > the
>> > > > >> > > > > > >> > > > > > > > > configuration, JSON is currently the
>> > only
>> > > > >> text
>> > > > >> > > based
>> > > > >> > > > > > >> format
>> > > > >> > > > > > >> > > > > > supported.
>> > > > >> > > > > > >> > > > > > > > You
>> > > > >> > > > > > >> > > > > > > > > can use a database for the broker
>> > config
>> > > > >> > storage,
>> > > > >> > > > > there
>> > > > >> > > > > > >> are
>> > > > >> > > > > > >> > > built
>> > > > >> > > > > > >> > > > > in
>> > > > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB,
>> and
>> > > > generic
>> > > > >> > JDBC
>> > > > >> > > > > > config
>> > > > >> > > > > > >> > > stores.
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > May I ask what advantage you would
>> get
>> > by
>> > > > >> using
>> > > > >> > > YAML
>> > > > >> > > > > or
>> > > > >> > > > > > >> > > > properties
>> > > > >> > > > > > >> > > > > > > files
>> > > > >> > > > > > >> > > > > > > > > instead of JSON?
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > -- Rob
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
>> > > > >> ganapavarapu
>> > > > >> > <
>> > > > >> > > > > > >> > > > > > > rammohanganap@gmail.com
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > wrote:
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > > Hi,
>> > > > >> > > > > > >> > > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > > Is there any way to start
>> > > qpid-java-0.28
>> > > > >> > broker
>> > > > >> > > > > using
>> > > > >> > > > > > >> > > > .properties
>> > > > >> > > > > > >> > > > > > > file
>> > > > >> > > > > > >> > > > > > > > or
>> > > > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of
>> .json
>> > > file?
>> > > > >> or
>> > > > >> > > what
>> > > > >> > > > > are
>> > > > >> > > > > > >> the
>> > > > >> > > > > > >> > > other
>> > > > >> > > > > > >> > > > > > ways
>> > > > >> > > > > > >> > > > > > > to
>> > > > >> > > > > > >> > > > > > > > > > pass override properties instead
>> of
>> > > JSON
>> > > > >> > config
>> > > > >> > > > > file?
>> > > > >> > > > > > >> > > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > > > Thanks,
>> > > > >> > > > > > >> > > > > > > > > > Ram
>> > > > >> > > > > > >> > > > > > > > > >
>> > > > >> > > > > > >> > > > > > > > >
>> > > > >> > > > > > >> > > > > > > >
>> > > > >> > > > > > >> > > > > > >
>> > > > >> > > > > > >> > > > > >
>> > > > >> > > > > > >> > > > >
>> > > > >> > > > > > >> > > >
>> > > > >> > > > > > >> > >
>> > > > >> > > > > > >> >
>> > > > >> > > > > > >>
>> > > > >> > > > > > >
>> > > > >> > > > > > >
>> > > > >> > > > > >
>> > > > >> > > > >
>> > > > >> > > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Thank you Rob, i am also trying to configure JMX, i have added JMX ports in
config and server listening on them but when i try to connect using connect
string "service:jmx:rmi:///jndi/rmi://localhost:8999/jmxrmi" its asking me
credentials but i configured to use Anonymous for that port

Any idea?


  }, {
    "id" : "196b5a76-d552-4a38-9560-63a010bb40a0",
    "name" : "JMX_CONNECTOR",
    "type" : "JMX",
    "authenticationProvider" : "ANONYMOUS",
    "port" : "9099",
    "lastUpdatedBy" : "admin",
    "lastUpdatedTime" : 1472242532264,
    "createdBy" : "admin",
    "createdTime" : 1472242532264
  }, {
    "id" : "881b3b25-463d-4efe-8b27-0335525ea920",
    "name" : "RMI_REGISTRY",
    "type" : "RMI",
    "port" : "8999",
    "lastUpdatedBy" : "admin",
    "lastUpdatedTime" : 1472242484471,
    "createdBy" : "admin",
    "createdTime" : 1472242484471
  } ],

On Fri, Aug 26, 2016 at 1:10 PM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> This page from the broker docs covers most aspects of memory configuration:
>
> https://qpid.apache.org/releases/qpid-java-6.0.4/java-
> broker/book/Java-Broker-Runtime-Memory.html
>
> Hope this helps,
> Rob
>
> On 26 August 2016 at 20:49, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> wrote:
>
> > Yes, i changed it to use Anonymous and its working now. Now i need some
> > documents or suggestions on how to configure Mem settings and flow to
> disk
> > settings in config.json
> >
> > Thanks,
> > Ram
> >
> > On Fri, Aug 26, 2016 at 12:16 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Hi Ram,
> > >
> > > I assume that you have configured port 5672 to use the Plain auth
> > provider
> > > (each port can only be associated with a single auth provider - you can
> > add
> > > other ports which use the a different auth provider).  The issue here
> is
> > > that by default the Java Broker will not allow PLAIN SASL over a
> non-TLS
> > > connection.  You can override this by changing the
> "secureOnlyMechanisms"
> > > attribute of the (password) auth provider.  Setting this value to the
> > empty
> > > list within the password auth provider section
> > >
> > >             "secureOnlyMechanisms" : [ ],
> > >
> > > in your json config file, will mean than PLAIN will be offered as a
> > > mechanism.
> > >
> > > Alternatively you can change your port configuration to use you
> anonymous
> > > authentication provider, rather than the password provider.
> > >
> > > Hope this helps,
> > > Rob
> > >
> > >
> > > On 26 August 2016 at 19:27, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > I have followed as you said and created a clean slate v6 broker and
> > from
> > > UI
> > > > created two auth provides palin and anonimous but when i make this
> api
> > > call
> > > > i am getting different sasl list
> > > >
> > > >  curl -s http://localhost:10001/service/sasl
> > > > {
> > > >   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
> > > >
> > > > and as you told you before my client is throwing this error, so
> client
> > > has
> > > > a logic to try Plain with user  guest first if it doesn't work then
> try
> > > > anonymous. Since broker doesn't have any of those in its sasl list
> may
> > be
> > > > its not able to connect?
> > > >
> > > >
> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > > > connecttimeout='5000'&sasl_mechs='PLAIN''
> > > > Not Connected. error Client and broker have no SASL mechanisms in
> > common.
> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> > > [EXTERNAL,
> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
> > > > username=guest
> > > >
> > > >
> > > > and
> > > >
> > > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > > > connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > Not Connected. error Client and broker have no SASL mechanisms in
> > common.
> > > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> > > [EXTERNAL,
> > > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : ANONYMOUS
> > > > username=null
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com> wrote:
> > > >
> > > > > Hi Rob,
> > > > >
> > > > > I did not get chance to try v6, i will try and let you know.
> > > > >
> > > > > Ram
> > > > >
> > > > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <
> > rob.j.godfrey@gmail.com
> > > >
> > > > > wrote:
> > > > >
> > > > >> Hi Ram,
> > > > >>
> > > > >> have you got v6 working now?  The memory settings for the broker
> > > depend
> > > > >> upon which version you are using.  For version 6 there is a
> > > > comprehensive
> > > > >> discussion on memory allocation settings in the manual:
> > > > >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
> > > > >> broker/book/Java-Broker-Runtime-Memory.html
> > > > >>
> > > > >> Versions prior to v6 use memory (and threads) very differently.
> > > > >>
> > > > >> Hope this helps,
> > > > >> Rob
> > > > >>
> > > > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com
> > > > >> >
> > > > >> wrote:
> > > > >>
> > > > >> > Rob,
> > > > >> >
> > > > >> > One more question in the same context, what are the recommended
> > JVM
> > > > >> > settings for java broker? i am using default "-Xmx1024m" its
> > working
> > > > >> fine
> > > > >> > but i wanted to follow the best practices. Please advice.
> > > > >> >
> > > > >> >
> > > > >> > Thanks,
> > > > >> > Ram
> > > > >> >
> > > > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
> > > rob.j.godfrey@gmail.com
> > > > >
> > > > >> > wrote:
> > > > >> >
> > > > >> > > Hi Ram,
> > > > >> > >
> > > > >> > > Apologies, I've been having a few issues with my internet
> > > provider.
> > > > >> > >
> > > > >> > > Can you try setting up an entirely clean install of Qpid 6.0.1
> > and
> > > > >> > > configuring (through the UI) that to use ANONYMOUS, and then
> > check
> > > > >> your
> > > > >> > > client can connect.
> > > > >> > >
> > > > >> > > This is what I did, and it works fine for me.
> > > > >> > >
> > > > >> > > For the rest of your requirements (like setting the log file
> > > > location,
> > > > >> > > etc.) you really want to be using version 6 or later.
> > > > >> > >
> > > > >> > > Cheers,
> > > > >> > > Rob
> > > > >> > >
> > > > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> > > > >> > rammohanganap@gmail.com>
> > > > >> > > wrote:
> > > > >> > >
> > > > >> > > > Rob,
> > > > >> > > >
> > > > >> > > > I have tried with virtualhost config that you have provided
> > but
> > > i
> > > > am
> > > > >> > > still
> > > > >> > > > getting connection error. I would like to make it work with
> > 6.0*
> > > > >> > version
> > > > >> > > > but at this point i need 0.28 version to make working, so if
> > you
> > > > can
> > > > >> > help
> > > > >> > > > me to configure log location in 0.28 that would unblock me
> for
> > > > now.
> > > > >> > > >
> > > > >> > > > Thanks,
> > > > >> > > > Ram
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > > > >> > > S.QUEUECLIENTSERVICE -
> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > > Connection
> > > > :
> > > > >> 0
> > > > >> > > Host =
> > > > >> > > > localhost
> > > > >> > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > > >> > > > Not Connected. error Client and broker have no SASL
> mechanisms
> > > in
> > > > >> > common.
> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > > >> > > CRAM-MD5-HASHED,
> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> itself
> > > to
> > > > :
> > > > >> > PLAIN
> > > > >> > > > username=guest
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > > >> > > S.QUEUECLIENTSERVICE -
> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
> queue
> > > > null
> > > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > > >> > > c.a.a.q.QueueBuilder -
> > > > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > > > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > > > >> > > c.a.a.q.QueueBuilder -
> > > > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> > > > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > > > >> > > S.QUEUECLIENTSERVICE -
> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > > Connection
> > > > :
> > > > >> 0
> > > > >> > > Host =
> > > > >> > > > localhost
> > > > >> > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > > >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > >> > > > Not Connected. error Unknown virtualhost '' username=null
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > > >> > > S.QUEUECLIENTSERVICE -
> > > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > > Connection
> > > > :
> > > > >> 0
> > > > >> > > Host =
> > > > >> > > > localhost
> > > > >> > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > > >> > > > Not Connected. error Client and broker have no SASL
> mechanisms
> > > in
> > > > >> > common.
> > > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > > >> > > CRAM-MD5-HASHED,
> > > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> itself
> > > to
> > > > :
> > > > >> > PLAIN
> > > > >> > > > username=guest
> > > > >> > > >
> > > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > > >> > > S.QUEUECLIENTSERVICE -
> > > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding
> queue
> > > > null
> > > > >> > > >
> > > > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> > > > >> rob.j.godfrey@gmail.com>
> > > > >> > > > wrote:
> > > > >> > > >
> > > > >> > > > > Hi Ram,
> > > > >> > > > >
> > > > >> > > > > in 6.0.x the log file location can be changed directly
> > through
> > > > the
> > > > >> > > config
> > > > >> > > > > json - I really think we should first concentrate on
> getting
> > > > that
> > > > >> > > working
> > > > >> > > > > for you.
> > > > >> > > > >
> > > > >> > > > > I've verified that using the 6.0.x client and broker with
> a
> > > URL
> > > > >> > similar
> > > > >> > > > to
> > > > >> > > > > the one in your log file works for ANONYMOUS.
> > > > >> > > > >
> > > > >> > > > > Looking at your error output again I notice that there
> seem
> > > > >> actually
> > > > >> > to
> > > > >> > > > be
> > > > >> > > > > two connection attempts, the first ends with:
> > > > >> > > > >
> > > > >> > > > > error Unknown virtualhost '' username=null
> > > > >> > > > >
> > > > >> > > > > Then we see the second failure with the "PLAIN" error.
> That
> > > > first
> > > > >> > > error
> > > > >> > > > > indicate that ANONYMOUS log in was actually successful,
> > > however
> > > > >> you
> > > > >> > > were
> > > > >> > > > > the running into the fact that no virtualhost is mapped to
> > the
> > > > >> empty
> > > > >> > > > > string.  That suggests to me that you don't have any
> > > > >> > virtualhostaliases
> > > > >> > > > > defined in your (AMQP) port config. I'd suggest that it
> > would
> > > > make
> > > > >> > > sense
> > > > >> > > > to
> > > > >> > > > > craft an initial config based on the default initial
> config
> > > for
> > > > >> 6.0.x
> > > > >> > > > which
> > > > >> > > > > will include a virtualhostaliases section in the AMQP port
> > > which
> > > > >> > looks
> > > > >> > > > > like:
> > > > >> > > > >
> > > > >> > > > > "virtualhostaliases" : [ {
> > > > >> > > > >    "name" : "nameAlias",
> > > > >> > > > >    "type" : "nameAlias"
> > > > >> > > > > }, {
> > > > >> > > > >     "name" : "defaultAlias",
> > > > >> > > > >     "type" : "defaultAlias"
> > > > >> > > > > }, {
> > > > >> > > > >     "name" : "hostnameAlias",
> > > > >> > > > >     "type" : "hostnameAlias"
> > > > >> > > > > } ]
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > Let me know if this works for you, then we can look at
> some
> > of
> > > > >> your
> > > > >> > > other
> > > > >> > > > > questions.
> > > > >> > > > >
> > > > >> > > > > -- Rob
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > > > >> > > rammohanganap@gmail.com
> > > > >> > > > >
> > > > >> > > > > wrote:
> > > > >> > > > >
> > > > >> > > > > > Rob,
> > > > >> > > > > >
> > > > >> > > > > > Also how do i pass logfile location as -prop as
> > commandline
> > > > >> > argument?
> > > > >> > > > or
> > > > >> > > > > > how do i change default log file location i know we can
> > > update
> > > > >> > > > log4j.xml
> > > > >> > > > > > but is there any other way?
> > > > >> > > > > >
> > > > >> > > > > > Ram
> > > > >> > > > > >
> > > > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > > >> > > > > > rammohanganap@gmail.com> wrote:
> > > > >> > > > > >
> > > > >> > > > > > > Rob,
> > > > >> > > > > > >
> > > > >> > > > > > > I tried passing properties file as argument but it
> didnt
> > > > like
> > > > >> it.
> > > > >> > > > Does
> > > > >> > > > > it
> > > > >> > > > > > > support in 0.28v?
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > > >> > > > > > ../etc/qpidd.properties
> > > > >> > > > > > >
> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > > > >> > -DQPID_LOG_APPEND=
> > > > >> > > > > > > Using QPID_CLASSPATH
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > >> > > > > -XX:+UseConcMarkSweepGC
> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > > > -Xmx1024m
> > > > >> > > > > > > Exception during startup: java.lang.
> > > > IllegalArgumentException:
> > > > >> > > > > > > Configuration property argument is not of the format
> > > > >> name=value:
> > > > >> > > > > > > ../etc/qpidd.properties
> > > > >> > > > > > > java.lang.IllegalArgumentException: Configuration
> > > property
> > > > >> > argument
> > > > >> > > > is
> > > > >> > > > > > not
> > > > >> > > > > > > of the format name=value: ../etc/qpidd.properties
> > > > >> > > > > > >     at org.apache.qpid.server.Main.
> > execute(Main.java:226)
> > > > >> > > > > > >     at org.apache.qpid.server.Main.<
> > init>(Main.java:134)
> > > > >> > > > > > >     at org.apache.qpid.server.Main.
> main(Main.java:125)
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > > >> > > > > > > ../etc/qpidd.properties
> > > > >> > > > > > >
> > > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > > > >> > -DQPID_LOG_APPEND=
> > > > >> > > > > > > Using QPID_CLASSPATH
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > >> > > > > -XX:+UseConcMarkSweepGC
> > > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > > > -Xmx1024m
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > *Error: Unrecognized option: -props*
> > > > >> > > > > > > How do i change this block from initial configuration
> to
> > > use
> > > > >> > > > Anonymous?
> > > > >> > > > > > >
> > > > >> > > > > > > {
> > > > >> > > > > > >   "name": "Broker",
> > > > >> > > > > > >   "storeVersion": 1,
> > > > >> > > > > > >   "modelVersion": "1.2",
> > > > >> > > > > > >   "defaultVirtualHost" : "default",
> > > > >> > > > > > >   "authenticationproviders" : [ {
> > > > >> > > > > > >     "name" : "passwordFile",
> > > > >> > > > > > >     "type" : "PlainPasswordFile",
> > > > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > > >> > > > > > >     "preferencesproviders" : [{
> > > > >> > > > > > >         "name": "fileSystemPreferences",
> > > > >> > > > > > >         "type": "FileSystemPreferences",
> > > > >> > > > > > >         "path" : "${qpid.work_dir}/user.
> > preferences.json"
> > > > >> > > > > > >     }]
> > > > >> > > > > > >   } ],
> > > > >> > > > > > >
> > > > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > > > >> > > > rob.j.godfrey@gmail.com>
> > > > >> > > > > > > wrote:
> > > > >> > > > > > >
> > > > >> > > > > > >> Hi Ram,
> > > > >> > > > > > >>
> > > > >> > > > > > >> so one approach to this would be to define you
> > > > authentication
> > > > >> > > > > providers
> > > > >> > > > > > up
> > > > >> > > > > > >> from in your config file, so you have an an Anonymous
> > > > >> provider
> > > > >> > > named
> > > > >> > > > > > >> "anonymous" and a password file provider named
> > > > >> "passwordFile" or
> > > > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP,
> JMX,
> > > > etc)
> > > > >> you
> > > > >> > > can
> > > > >> > > > > > >> parameterise the value they have for the name of the
> > auth
> > > > >> > provider
> > > > >> > > > > they
> > > > >> > > > > > >> are
> > > > >> > > > > > >> using.  So your initial JSON config file could
> contain
> > > > >> something
> > > > >> > > > like:
> > > > >> > > > > > >>
> > > > >> > > > > > >> "ports" : [  {
> > > > >> > > > > > >>   "name" : "AMQP",
> > > > >> > > > > > >>   "port" : "${qpid.amqp_port}",
> > > > >> > > > > > >>   "authenticationProvider" :
> > > > >> > > > > "${qpid.amqp_port_authenticationProvider}",
> > > > >> > > > > > >>
> > > > >> > > > > > >>
> > > > >> > > > > > >> and then you could override which provider to use at
> > > > runtime
> > > > >> by
> > > > >> > > > > setting
> > > > >> > > > > > >> the
> > > > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> > > > anonymous
> > > > >> or
> > > > >> > > > > > >> passwordFile
> > > > >> > > > > > >> (or the name of any other authentication provider
> that
> > is
> > > > >> > defined
> > > > >> > > in
> > > > >> > > > > > your
> > > > >> > > > > > >> JSON config.
> > > > >> > > > > > >>
> > > > >> > > > > > >> The only thing you can't do with properties is to add
> > new
> > > > >> > entities
> > > > >> > > > > into
> > > > >> > > > > > >> the
> > > > >> > > > > > >> config - that you have to do either by editing the
> > file,
> > > or
> > > > >> by
> > > > >> > > using
> > > > >> > > > > the
> > > > >> > > > > > >> REST api to modify the broker configuration while it
> is
> > > > >> running.
> > > > >> > > > > > >>
> > > > >> > > > > > >> Hope this helps,
> > > > >> > > > > > >> Rob
> > > > >> > > > > > >>
> > > > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > > >> > > > > > rammohanganap@gmail.com>
> > > > >> > > > > > >> wrote:
> > > > >> > > > > > >>
> > > > >> > > > > > >> > Rob,
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > Thanks for detailed explanation, i wanted to
> restart
> > > with
> > > > >> the
> > > > >> > > > > changed
> > > > >> > > > > > >> > properties if any for example today i have
> Anonymous
> > > SASL
> > > > >> and
> > > > >> > > > later
> > > > >> > > > > i
> > > > >> > > > > > >> may
> > > > >> > > > > > >> > want to use password file. How do i pass SASL
> > mechanism
> > > > as
> > > > >> > > -prop?
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > Thanks,
> > > > >> > > > > > >> > Ram
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > > > >> > > > > rob.j.godfrey@gmail.com>
> > > > >> > > > > > >> > wrote:
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > > Hi Ram,
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > The initial config file is only used when there
> is
> > no
> > > > >> broker
> > > > >> > > > > config
> > > > >> > > > > > -
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > idea is that it is used to populate the broker
> > config
> > > > on
> > > > >> > first
> > > > >> > > > > > >> startup.
> > > > >> > > > > > >> > > Once there is a broker config file then this is
> > used
> > > > >> (since
> > > > >> > it
> > > > >> > > > may
> > > > >> > > > > > >> have
> > > > >> > > > > > >> > > been updated by creating or modifying entities
> > > through
> > > > >> the
> > > > >> > > > > > management
> > > > >> > > > > > >> > > functions).  The broker ships with a default
> > initial
> > > > >> config
> > > > >> > > > which
> > > > >> > > > > is
> > > > >> > > > > > >> > > contained within its jar files, however we allow
> > > people
> > > > >> to
> > > > >> > > > provide
> > > > >> > > > > > >> there
> > > > >> > > > > > >> > > own.  Records in the config file a copied
> verbatim
> > > into
> > > > >> the
> > > > >> > > > config
> > > > >> > > > > > >> store
> > > > >> > > > > > >> > -
> > > > >> > > > > > >> > > the only difference being that ids are generated
> > for
> > > > each
> > > > >> > > > entity.
> > > > >> > > > > > The
> > > > >> > > > > > >> > > interpolation from property names to values is
> done
> > > > each
> > > > >> > time
> > > > >> > > > the
> > > > >> > > > > > >> broker
> > > > >> > > > > > >> > > reads the config.  If the broker finds there is
> > > config
> > > > in
> > > > >> > the
> > > > >> > > > > store
> > > > >> > > > > > >> path
> > > > >> > > > > > >> > > then it completely ignores the initial config -
> it
> > > does
> > > > >> not
> > > > >> > > > > examine
> > > > >> > > > > > >> any
> > > > >> > > > > > >> > > differences.
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > Are you looking to start a completely fresh
> broker
> > > each
> > > > >> > time,
> > > > >> > > or
> > > > >> > > > > > >> merely
> > > > >> > > > > > >> > to
> > > > >> > > > > > >> > > be able to change certain properties (such as
> port
> > > > >> numbers)
> > > > >> > on
> > > > >> > > > > each
> > > > >> > > > > > >> > > restart?  If you do not want to retain any
> changes
> > to
> > > > the
> > > > >> > > broker
> > > > >> > > > > > >> > > configuration made while the broker is actually
> > > > running,
> > > > >> > then
> > > > >> > > > you
> > > > >> > > > > > >> could
> > > > >> > > > > > >> > use
> > > > >> > > > > > >> > > a "memory" config store rather than a Json one.
> If
> > > you
> > > > >> want
> > > > >> > > to
> > > > >> > > > > > retain
> > > > >> > > > > > >> > any
> > > > >> > > > > > >> > > changes made through management, but desire the
> > > ability
> > > > >> to
> > > > >> > > > change
> > > > >> > > > > > >> certain
> > > > >> > > > > > >> > > properties (like ports) on each startup, then you
> > > don't
> > > > >> need
> > > > >> > > to
> > > > >> > > > > > worry
> > > > >> > > > > > >> > about
> > > > >> > > > > > >> > > the fact that the initial configuration is only
> > > loaded
> > > > >> the
> > > > >> > > first
> > > > >> > > > > > time
> > > > >> > > > > > >> -
> > > > >> > > > > > >> > you
> > > > >> > > > > > >> > > just need to pass in the property values you want
> > on
> > > > >> > startup.
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > In terms of an example system properties file...
> > The
> > > > >> > default
> > > > >> > > > > > >> > > initial-config.json defines the amqp port to be
> > > > >> > > > ${qpid.amqp_port}
> > > > >> > > > > > and
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
> > > create a
> > > > >> > > > properties
> > > > >> > > > > > >> file
> > > > >> > > > > > >> > > called rob.properties which contains
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > qpid.http_port=8888
> > > > >> > > > > > >> > > qpid.amqp_port=5555
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > and then run qpid with the argument -props
> > > > rob.properties
> > > > >> > > then I
> > > > >> > > > > > >> get...
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP
> > port
> > > > 5555
> > > > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening
> on
> > > TCP
> > > > >> port
> > > > >> > > 8888
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > So, when you use your initial or stored config
> you
> > > just
> > > > >> need
> > > > >> > > to
> > > > >> > > > > > ensure
> > > > >> > > > > > >> > all
> > > > >> > > > > > >> > > the variables you use in your config are set in
> > your
> > > > >> > > properties
> > > > >> > > > > file
> > > > >> > > > > > >> > (some
> > > > >> > > > > > >> > > properties have defaults within the code if they
> > are
> > > > not
> > > > >> > > > otherwise
> > > > >> > > > > > >> set -
> > > > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is
> > not
> > > > set
> > > > >> > > > > > elsewhere).
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > Hope this helps,
> > > > >> > > > > > >> > > Rob
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > > >> > > > > > >> rammohanganap@gmail.com
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > wrote:
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > > Rob,
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > Thank you, one more question on -icp and -sp,
> so
> > > what
> > > > >> if i
> > > > >> > > > have
> > > > >> > > > > > >> updated
> > > > >> > > > > > >> > > icp
> > > > >> > > > > > >> > > > with some property change  and restarted broker
> > > with
> > > > >> icp
> > > > >> > > > (every
> > > > >> > > > > > >> time i
> > > > >> > > > > > >> > > > restart broker i am using initial config
> > > > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not
> sure
> > if
> > > > >> its is
> > > > >> > > > right
> > > > >> > > > > > way
> > > > >> > > > > > >> or
> > > > >> > > > > > >> > > > not), does it automatically update config file
> in
> > > > -sp?
> > > > >> i
> > > > >> > my
> > > > >> > > > case
> > > > >> > > > > > it
> > > > >> > > > > > >> did
> > > > >> > > > > > >> > > not
> > > > >> > > > > > >> > > > updated the config file in store-path upon
> > restart.
> > > > >> What
> > > > >> > > will
> > > > >> > > > > > >> happened
> > > > >> > > > > > >> > > if i
> > > > >> > > > > > >> > > > have differences in initial config file that i
> > use
> > > to
> > > > >> > start
> > > > >> > > > > broker
> > > > >> > > > > > >> and
> > > > >> > > > > > >> > > the
> > > > >> > > > > > >> > > > config file under store-path?
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > Thanks,
> > > > >> > > > > > >> > > > Ram
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > > >> > > > > > >> rob.j.godfrey@gmail.com>
> > > > >> > > > > > >> > > > wrote:
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > > This looks like a client error to me... the
> > line
> > > > >> which
> > > > >> > > says:
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > Out of interest what happens if you remove
> the
> > > > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> > > > >> > > > > > >> > > > from
> > > > >> > > > > > >> > > > > your connection URL?  Without any sort of
> > > > restriction
> > > > >> > I'd
> > > > >> > > > > expect
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > > client
> > > > >> > > > > > >> > > > > to do the right thing.
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )...
> > > I'll
> > > > >> have
> > > > >> > > > deeper
> > > > >> > > > > > >> look
> > > > >> > > > > > >> > in
> > > > >> > > > > > >> > > > the
> > > > >> > > > > > >> > > > > morning.
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > -- Rob
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan
> > ganapavarapu <
> > > > >> > > > > > >> > > rammohanganap@gmail.com
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > wrote:
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > > Rob,
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > thanks for the explanation, do you have a
> > > sample
> > > > >> > > > > > >> > > > > --system-properties-file?
> > > > >> > > > > > >> > > > > > that i can take a look?
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app
> is
> > > > >> throwing
> > > > >> > > this
> > > > >> > > > > > >> error, i
> > > > >> > > > > > >> > > am
> > > > >> > > > > > >> > > > > not
> > > > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want
> to
> > > > change
> > > > >> > the
> > > > >> > > > > > existing
> > > > >> > > > > > >> > code
> > > > >> > > > > > >> > > > but
> > > > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
> > > error
> > > > i
> > > > >> am
> > > > >> > > > > getting
> > > > >> > > > > > >> with
> > > > >> > > > > > >> > > > > 6.0.1v..
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> > > > >> > > > > > >> > > > > >
> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > >> > > > > > ERROR
> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > > > >> > ConnectionImpl.openConnection() :
> > > > >> > > > > Error
> > > > >> > > > > > >> > > > connecting
> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> >
> > > > >> > > > > > >>
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > url=amqp://null:********@qphost011460067563391/?
> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > > > >> sasl_mechs='ANONYMOUS''
> > > > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> > > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> > > > >> > > > > > >> > > > > >
> > > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > >> > > > > > ERROR
> > > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > > > >> > ConnectionImpl.openConnection() :
> > > > >> > > > > Error
> > > > >> > > > > > >> > > > connecting
> > > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> >
> > > > >> > > > > > >>
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > url=amqp://null:********@qphost011460067563391/?
> > > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > > > >> sasl_mechs='ANONYMOUS''
> > > > >> > > > > > >> > > > > > error Client and broker have no SASL
> > mechanisms
> > > > in
> > > > >> > > common.
> > > > >> > > > > > >> Broker
> > > > >> > > > > > >> > > > allows
> > > > >> > > > > > >> > > > > :
> > > > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > > >> > > CRAM-MD5-HASHED,
> > > > >> > > > > > >> > CRAM-MD5,
> > > > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client
> restricted
> > > > >> itself
> > > > >> > to
> > > > >> > > :
> > > > >> > > > > > PLAIN
> > > > >> > > > > > >> > > > > > username=guest
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > And here is my sasl mechanism.
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> > > > >> > > > > > >> > > > > > {
> > > > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> > > > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app
> > but
> > > > >> 6.0.1
> > > > >> > is
> > > > >> > > > not
> > > > >> > > > > > >> > working.
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > Thanks,
> > > > >> > > > > > >> > > > > > Ram
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob
> Godfrey <
> > > > >> > > > > > >> > rob.j.godfrey@gmail.com
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > > > wrote:
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> > > > ganapavarapu <
> > > > >> > > > > > >> > > > > rammohanganap@gmail.com
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > wrote:
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > > Rob,
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> > > > >> > authentication?
> > > > >> > > > last
> > > > >> > > > > > >> time
> > > > >> > > > > > >> > > when
> > > > >> > > > > > >> > > > i
> > > > >> > > > > > >> > > > > > try
> > > > >> > > > > > >> > > > > > > to
> > > > >> > > > > > >> > > > > > > > use .32 it was not working with
> > Anonymous.
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> > > > protocol
> > > > >> > are
> > > > >> > > > you
> > > > >> > > > > > >> using
> > > > >> > > > > > >> > > > (0-9-1,
> > > > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
> > > Anonymous
> > > > >> > should
> > > > >> > > > work
> > > > >> > > > > > on
> > > > >> > > > > > >> > 0.32
> > > > >> > > > > > >> > > > > > however
> > > > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication
> > layer
> > > at
> > > > >> all"
> > > > >> > > > > option
> > > > >> > > > > > >> for
> > > > >> > > > > > >> > > AMQP
> > > > >> > > > > > >> > > > > 1.0
> > > > >> > > > > > >> > > > > > > probably didn't work (this is different
> to
> > an
> > > > >> > > > > authentication
> > > > >> > > > > > >> > layer
> > > > >> > > > > > >> > > > > which
> > > > >> > > > > > >> > > > > > > allows anonymous).
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
> > > email, i
> > > > >> was
> > > > >> > > > taking
> > > > >> > > > > > >> about
> > > > >> > > > > > >> > > > > > properties
> > > > >> > > > > > >> > > > > > > > file not broker storage format, the use
> > > case
> > > > is
> > > > >> > if i
> > > > >> > > > > > wanted
> > > > >> > > > > > >> to
> > > > >> > > > > > >> > > > > override
> > > > >> > > > > > >> > > > > > > > some of these properties and i have my
> > own
> > > > >> custom
> > > > >> > > > > > >> tool/script
> > > > >> > > > > > >> > > that
> > > > >> > > > > > >> > > > > > goes
> > > > >> > > > > > >> > > > > > > > through the properties files and
> replace
> > > with
> > > > >> the
> > > > >> > > > > > override i
> > > > >> > > > > > >> > > > defined,
> > > > >> > > > > > >> > > > > > so
> > > > >> > > > > > >> > > > > > > i
> > > > >> > > > > > >> > > > > > > > want to use the same tool/script for
> qpid
> > > > >> config
> > > > >> > as
> > > > >> > > > > well.
> > > > >> > > > > > My
> > > > >> > > > > > >> > tool
> > > > >> > > > > > >> > > > > only
> > > > >> > > > > > >> > > > > > > > support key:value but if we have json
> > array
> > > > it
> > > > >> > wont
> > > > >> > > > > work.
> > > > >> > > > > > So
> > > > >> > > > > > >> > if i
> > > > >> > > > > > >> > > > > want
> > > > >> > > > > > >> > > > > > to
> > > > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> > > > >> arguments
> > > > >> > > what
> > > > >> > > > > are
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > > > > properties
> > > > >> > > > > > >> > > > > > > > that java qpid support as command line?
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > Below if my config, is it possible to
> > pass
> > > > all
> > > > >> > these
> > > > >> > > > as
> > > > >> > > > > > >> command
> > > > >> > > > > > >> > > > line
> > > > >> > > > > > >> > > > > > > > arguments?
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > {
> > > > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > > > >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
> > > > >> 1f1b258ea3ac",
> > > > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> > > > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> > > > >> > > > > > >> > > > > > > >   } ],
> > > > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > > >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
> > > > >> 268295f580bc",
> > > > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > > > >> > > > > > >> > > > > > > >   "name" : "Broker",
> > > > >> > > > > > >> > > > > > > >   "plugins" : [ {
> > > > >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
> > > > >> 4cfd63266dbf",
> > > > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > >> > > > > > >> > > > > > > >   }, {
> > > > >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
> > > > >> 27a58fd2df89",
> > > > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> > > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > >> > > > > > >> > > > > > > >   } ],
> > > > >> > > > > > >> > > > > > > >   "ports" : [ {
> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> > "Anonymous",
> > > > >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
> > > > >> 8c452149cdae",
> > > > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > >> > > > > > >> > > > > > > >     "port" : "9099",
> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > >> > > > > > >> > > > > > > >   }, {
> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> > "Anonymous",
> > > > >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
> > > > >> 75802f3b6553",
> > > > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > >> > > > > > >> > > > > > > >     "port" : "8999",
> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > > >> > > > > > >> > > > > > > >   }, {
> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> > "Anonymous",
> > > > >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
> > > > >> 3113b46157f9",
> > > > >> > > > > > >> > > > > > > >     "name" : "AMQP",
> > > > >> > > > > > >> > > > > > > >     "port" : "5672"
> > > > >> > > > > > >> > > > > > > >   }, {
> > > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> > "Anonymous",
> > > > >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
> > > > >> f2606b5e4f6e",
> > > > >> > > > > > >> > > > > > > >     "name" : "HTTP",
> > > > >> > > > > > >> > > > > > > >     "port" : "10001",
> > > > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > >> > > > > > >> > > > > > > >   } ],
> > > > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> > > > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> > > > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > > >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
> > > > >> fe2b34e54503",
> > > > >> > > > > > >> > > > > > > >     "name" : "default",
> > > > >> > > > > > >> > > > > > > >     "storePath" :
> > > "/ebs//derbystore/default",
> > > > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> > > > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> > > > >> > > > > > >> > > > > > > >   } ]
> > > > >> > > > > > >> > > > > > > > }
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the
> > JSON
> > > > >> with a
> > > > >> > > > > > reference
> > > > >> > > > > > >> to
> > > > >> > > > > > >> > a
> > > > >> > > > > > >> > > > > > > property, for example
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > "name" : "${myPortName}",
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > this will then interpolate the value from
> > the
> > > > >> > > property,
> > > > >> > > > so
> > > > >> > > > > > if
> > > > >> > > > > > >> you
> > > > >> > > > > > >> > > set
> > > > >> > > > > > >> > > > > the
> > > > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that
> will
> > > be
> > > > >> the
> > > > >> > > value
> > > > >> > > > > > used.
> > > > >> > > > > > >> > > Type
> > > > >> > > > > > >> > > > > > > conversions will be performed, so if the
> > > > required
> > > > >> > > value
> > > > >> > > > is
> > > > >> > > > > > an
> > > > >> > > > > > >> > > integer
> > > > >> > > > > > >> > > > > it
> > > > >> > > > > > >> > > > > > > will convert to an integer.  If the value
> > > > >> required
> > > > >> > is
> > > > >> > > a
> > > > >> > > > > list
> > > > >> > > > > > >> then
> > > > >> > > > > > >> > > you
> > > > >> > > > > > >> > > > > can
> > > > >> > > > > > >> > > > > > > use a String representation of a list in
> > Json
> > > > >> > format.
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > You can set the properties individually,
> or
> > > you
> > > > >> can
> > > > >> > > pass
> > > > >> > > > > in
> > > > >> > > > > > a
> > > > >> > > > > > >> > > > > properties
> > > > >> > > > > > >> > > > > > > file using -props or
> > --system-properties-file
> > > > >> (so if
> > > > >> > > you
> > > > >> > > > > > have
> > > > >> > > > > > >> a
> > > > >> > > > > > >> > > > > > properties
> > > > >> > > > > > >> > > > > > > file already maybe you can just pass this
> > > in).
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > > One more question or may be
> clarification
> > > is,
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of
> config
> > > > file
> > > > >> > that
> > > > >> > > > will
> > > > >> > > > > > >> > > generated
> > > > >> > > > > > >> > > > by
> > > > >> > > > > > >> > > > > > > qpidd
> > > > >> > > > > > >> > > > > > > > from the initial config right? what is
> > the
> > > > use
> > > > >> of
> > > > >> > > > > > >> store-path?*
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > That is correct.  Some people just like
> to
> > > have
> > > > >> > config
> > > > >> > > > > files
> > > > >> > > > > > >> in a
> > > > >> > > > > > >> > > > > > > non-default location :-)
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > Hope this helps,
> > > > >> > > > > > >> > > > > > > Rob
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > > > > *Thanks,*
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > *Ram*
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
> > > Godfrey <
> > > > >> > > > > > >> > > > rob.j.godfrey@gmail.com
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > > > > > wrote:
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I
> > would
> > > > >> > recommend
> > > > >> > > > > > >> updating
> > > > >> > > > > > >> > to
> > > > >> > > > > > >> > > > > v6.0.1
> > > > >> > > > > > >> > > > > > > if
> > > > >> > > > > > >> > > > > > > > > you can.
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand
> your
> > > > >> > question -
> > > > >> > > > are
> > > > >> > > > > > you
> > > > >> > > > > > >> > > asking
> > > > >> > > > > > >> > > > > > about
> > > > >> > > > > > >> > > > > > > > > overriding particular properties, or
> > the
> > > > >> storage
> > > > >> > > > > format
> > > > >> > > > > > >> for
> > > > >> > > > > > >> > the
> > > > >> > > > > > >> > > > > > broker
> > > > >> > > > > > >> > > > > > > > > configuration - these are two
> different
> > > > >> things.
> > > > >> > > In
> > > > >> > > > > > terms
> > > > >> > > > > > >> of
> > > > >> > > > > > >> > > > > > > properties /
> > > > >> > > > > > >> > > > > > > > > context overrides this can be
> specified
> > > > >> using a
> > > > >> > > > > > properties
> > > > >> > > > > > >> > file
> > > > >> > > > > > >> > > > (at
> > > > >> > > > > > >> > > > > > > least
> > > > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it
> worked
> > on
> > > > >> 0.28).
> > > > >> > > In
> > > > >> > > > > > >> terms of
> > > > >> > > > > > >> > > the
> > > > >> > > > > > >> > > > > > > > > configuration, JSON is currently the
> > only
> > > > >> text
> > > > >> > > based
> > > > >> > > > > > >> format
> > > > >> > > > > > >> > > > > > supported.
> > > > >> > > > > > >> > > > > > > > You
> > > > >> > > > > > >> > > > > > > > > can use a database for the broker
> > config
> > > > >> > storage,
> > > > >> > > > > there
> > > > >> > > > > > >> are
> > > > >> > > > > > >> > > built
> > > > >> > > > > > >> > > > > in
> > > > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> > > > generic
> > > > >> > JDBC
> > > > >> > > > > > config
> > > > >> > > > > > >> > > stores.
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > May I ask what advantage you would
> get
> > by
> > > > >> using
> > > > >> > > YAML
> > > > >> > > > > or
> > > > >> > > > > > >> > > > properties
> > > > >> > > > > > >> > > > > > > files
> > > > >> > > > > > >> > > > > > > > > instead of JSON?
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > -- Rob
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> > > > >> ganapavarapu
> > > > >> > <
> > > > >> > > > > > >> > > > > > > rammohanganap@gmail.com
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > wrote:
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > > Hi,
> > > > >> > > > > > >> > > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > > Is there any way to start
> > > qpid-java-0.28
> > > > >> > broker
> > > > >> > > > > using
> > > > >> > > > > > >> > > > .properties
> > > > >> > > > > > >> > > > > > > file
> > > > >> > > > > > >> > > > > > > > or
> > > > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json
> > > file?
> > > > >> or
> > > > >> > > what
> > > > >> > > > > are
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > other
> > > > >> > > > > > >> > > > > > ways
> > > > >> > > > > > >> > > > > > > to
> > > > >> > > > > > >> > > > > > > > > > pass override properties instead of
> > > JSON
> > > > >> > config
> > > > >> > > > > file?
> > > > >> > > > > > >> > > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > >
> > > > >> > > > > > >> > > > > > > > > > Thanks,
> > > > >> > > > > > >> > > > > > > > > > Ram
> > > > >> > > > > > >> > > > > > > > > >
> > > > >> > > > > > >> > > > > > > > >
> > > > >> > > > > > >> > > > > > > >
> > > > >> > > > > > >> > > > > > >
> > > > >> > > > > > >> > > > > >
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> >
> > > > >> > > > > > >>
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

This page from the broker docs covers most aspects of memory configuration:

https://qpid.apache.org/releases/qpid-java-6.0.4/java-broker/book/Java-Broker-Runtime-Memory.html

Hope this helps,
Rob

On 26 August 2016 at 20:49, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Yes, i changed it to use Anonymous and its working now. Now i need some
> documents or suggestions on how to configure Mem settings and flow to disk
> settings in config.json
>
> Thanks,
> Ram
>
> On Fri, Aug 26, 2016 at 12:16 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > Hi Ram,
> >
> > I assume that you have configured port 5672 to use the Plain auth
> provider
> > (each port can only be associated with a single auth provider - you can
> add
> > other ports which use the a different auth provider).  The issue here is
> > that by default the Java Broker will not allow PLAIN SASL over a non-TLS
> > connection.  You can override this by changing the "secureOnlyMechanisms"
> > attribute of the (password) auth provider.  Setting this value to the
> empty
> > list within the password auth provider section
> >
> >             "secureOnlyMechanisms" : [ ],
> >
> > in your json config file, will mean than PLAIN will be offered as a
> > mechanism.
> >
> > Alternatively you can change your port configuration to use you anonymous
> > authentication provider, rather than the password provider.
> >
> > Hope this helps,
> > Rob
> >
> >
> > On 26 August 2016 at 19:27, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > wrote:
> >
> > > Rob,
> > >
> > > I have followed as you said and created a clean slate v6 broker and
> from
> > UI
> > > created two auth provides palin and anonimous but when i make this api
> > call
> > > i am getting different sasl list
> > >
> > >  curl -s http://localhost:10001/service/sasl
> > > {
> > >   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
> > >
> > > and as you told you before my client is throwing this error, so client
> > has
> > > a logic to try Plain with user  guest first if it doesn't work then try
> > > anonymous. Since broker doesn't have any of those in its sasl list may
> be
> > > its not able to connect?
> > >
> > >
> > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > > connecttimeout='5000'&sasl_mechs='PLAIN''
> > > Not Connected. error Client and broker have no SASL mechanisms in
> common.
> > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> > [EXTERNAL,
> > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
> > > username=guest
> > >
> > >
> > > and
> > >
> > > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > > connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > Not Connected. error Client and broker have no SASL mechanisms in
> common.
> > > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> > [EXTERNAL,
> > > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : ANONYMOUS
> > > username=null
> > >
> > > Thanks,
> > > Ram
> > >
> > > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> > > rammohanganap@gmail.com> wrote:
> > >
> > > > Hi Rob,
> > > >
> > > > I did not get chance to try v6, i will try and let you know.
> > > >
> > > > Ram
> > > >
> > > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com
> > >
> > > > wrote:
> > > >
> > > >> Hi Ram,
> > > >>
> > > >> have you got v6 working now?  The memory settings for the broker
> > depend
> > > >> upon which version you are using.  For version 6 there is a
> > > comprehensive
> > > >> discussion on memory allocation settings in the manual:
> > > >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
> > > >> broker/book/Java-Broker-Runtime-Memory.html
> > > >>
> > > >> Versions prior to v6 use memory (and threads) very differently.
> > > >>
> > > >> Hope this helps,
> > > >> Rob
> > > >>
> > > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > >> >
> > > >> wrote:
> > > >>
> > > >> > Rob,
> > > >> >
> > > >> > One more question in the same context, what are the recommended
> JVM
> > > >> > settings for java broker? i am using default "-Xmx1024m" its
> working
> > > >> fine
> > > >> > but i wanted to follow the best practices. Please advice.
> > > >> >
> > > >> >
> > > >> > Thanks,
> > > >> > Ram
> > > >> >
> > > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
> > rob.j.godfrey@gmail.com
> > > >
> > > >> > wrote:
> > > >> >
> > > >> > > Hi Ram,
> > > >> > >
> > > >> > > Apologies, I've been having a few issues with my internet
> > provider.
> > > >> > >
> > > >> > > Can you try setting up an entirely clean install of Qpid 6.0.1
> and
> > > >> > > configuring (through the UI) that to use ANONYMOUS, and then
> check
> > > >> your
> > > >> > > client can connect.
> > > >> > >
> > > >> > > This is what I did, and it works fine for me.
> > > >> > >
> > > >> > > For the rest of your requirements (like setting the log file
> > > location,
> > > >> > > etc.) you really want to be using version 6 or later.
> > > >> > >
> > > >> > > Cheers,
> > > >> > > Rob
> > > >> > >
> > > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> > > >> > rammohanganap@gmail.com>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > Rob,
> > > >> > > >
> > > >> > > > I have tried with virtualhost config that you have provided
> but
> > i
> > > am
> > > >> > > still
> > > >> > > > getting connection error. I would like to make it work with
> 6.0*
> > > >> > version
> > > >> > > > but at this point i need 0.28 version to make working, so if
> you
> > > can
> > > >> > help
> > > >> > > > me to configure log location in 0.28 that would unblock me for
> > > now.
> > > >> > > >
> > > >> > > > Thanks,
> > > >> > > > Ram
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > > >> > > S.QUEUECLIENTSERVICE -
> > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > Connection
> > > :
> > > >> 0
> > > >> > > Host =
> > > >> > > > localhost
> > > >> > > >
> > > >> > > >
> > > >> > >
> > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> > in
> > > >> > common.
> > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > >> > > CRAM-MD5-HASHED,
> > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> > to
> > > :
> > > >> > PLAIN
> > > >> > > > username=guest
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > >> > > S.QUEUECLIENTSERVICE -
> > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> > > null
> > > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > >> > > c.a.a.q.QueueBuilder -
> > > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > > >> > > c.a.a.q.QueueBuilder -
> > > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> > > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > > >> > > S.QUEUECLIENTSERVICE -
> > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > Connection
> > > :
> > > >> 0
> > > >> > > Host =
> > > >> > > > localhost
> > > >> > > >
> > > >> > > >
> > > >> > >
> > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > >> > > > Not Connected. error Unknown virtualhost '' username=null
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > >> > > S.QUEUECLIENTSERVICE -
> > > >> > > > ConnectionImpl.openConnection() : Error connecting to
> > Connection
> > > :
> > > >> 0
> > > >> > > Host =
> > > >> > > > localhost
> > > >> > > >
> > > >> > > >
> > > >> > >
> > > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> > in
> > > >> > common.
> > > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > >> > > CRAM-MD5-HASHED,
> > > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> > to
> > > :
> > > >> > PLAIN
> > > >> > > > username=guest
> > > >> > > >
> > > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > >> > > S.QUEUECLIENTSERVICE -
> > > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> > > null
> > > >> > > >
> > > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> > > >> rob.j.godfrey@gmail.com>
> > > >> > > > wrote:
> > > >> > > >
> > > >> > > > > Hi Ram,
> > > >> > > > >
> > > >> > > > > in 6.0.x the log file location can be changed directly
> through
> > > the
> > > >> > > config
> > > >> > > > > json - I really think we should first concentrate on getting
> > > that
> > > >> > > working
> > > >> > > > > for you.
> > > >> > > > >
> > > >> > > > > I've verified that using the 6.0.x client and broker with a
> > URL
> > > >> > similar
> > > >> > > > to
> > > >> > > > > the one in your log file works for ANONYMOUS.
> > > >> > > > >
> > > >> > > > > Looking at your error output again I notice that there seem
> > > >> actually
> > > >> > to
> > > >> > > > be
> > > >> > > > > two connection attempts, the first ends with:
> > > >> > > > >
> > > >> > > > > error Unknown virtualhost '' username=null
> > > >> > > > >
> > > >> > > > > Then we see the second failure with the "PLAIN" error.  That
> > > first
> > > >> > > error
> > > >> > > > > indicate that ANONYMOUS log in was actually successful,
> > however
> > > >> you
> > > >> > > were
> > > >> > > > > the running into the fact that no virtualhost is mapped to
> the
> > > >> empty
> > > >> > > > > string.  That suggests to me that you don't have any
> > > >> > virtualhostaliases
> > > >> > > > > defined in your (AMQP) port config. I'd suggest that it
> would
> > > make
> > > >> > > sense
> > > >> > > > to
> > > >> > > > > craft an initial config based on the default initial config
> > for
> > > >> 6.0.x
> > > >> > > > which
> > > >> > > > > will include a virtualhostaliases section in the AMQP port
> > which
> > > >> > looks
> > > >> > > > > like:
> > > >> > > > >
> > > >> > > > > "virtualhostaliases" : [ {
> > > >> > > > >    "name" : "nameAlias",
> > > >> > > > >    "type" : "nameAlias"
> > > >> > > > > }, {
> > > >> > > > >     "name" : "defaultAlias",
> > > >> > > > >     "type" : "defaultAlias"
> > > >> > > > > }, {
> > > >> > > > >     "name" : "hostnameAlias",
> > > >> > > > >     "type" : "hostnameAlias"
> > > >> > > > > } ]
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > Let me know if this works for you, then we can look at some
> of
> > > >> your
> > > >> > > other
> > > >> > > > > questions.
> > > >> > > > >
> > > >> > > > > -- Rob
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > > >> > > rammohanganap@gmail.com
> > > >> > > > >
> > > >> > > > > wrote:
> > > >> > > > >
> > > >> > > > > > Rob,
> > > >> > > > > >
> > > >> > > > > > Also how do i pass logfile location as -prop as
> commandline
> > > >> > argument?
> > > >> > > > or
> > > >> > > > > > how do i change default log file location i know we can
> > update
> > > >> > > > log4j.xml
> > > >> > > > > > but is there any other way?
> > > >> > > > > >
> > > >> > > > > > Ram
> > > >> > > > > >
> > > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > >> > > > > > rammohanganap@gmail.com> wrote:
> > > >> > > > > >
> > > >> > > > > > > Rob,
> > > >> > > > > > >
> > > >> > > > > > > I tried passing properties file as argument but it didnt
> > > like
> > > >> it.
> > > >> > > > Does
> > > >> > > > > it
> > > >> > > > > > > support in 0.28v?
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > >> > > > > > ../etc/qpidd.properties
> > > >> > > > > > >
> > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > > >> > -DQPID_LOG_APPEND=
> > > >> > > > > > > Using QPID_CLASSPATH
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > >> > > > > -XX:+UseConcMarkSweepGC
> > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > > -Xmx1024m
> > > >> > > > > > > Exception during startup: java.lang.
> > > IllegalArgumentException:
> > > >> > > > > > > Configuration property argument is not of the format
> > > >> name=value:
> > > >> > > > > > > ../etc/qpidd.properties
> > > >> > > > > > > java.lang.IllegalArgumentException: Configuration
> > property
> > > >> > argument
> > > >> > > > is
> > > >> > > > > > not
> > > >> > > > > > > of the format name=value: ../etc/qpidd.properties
> > > >> > > > > > >     at org.apache.qpid.server.Main.
> execute(Main.java:226)
> > > >> > > > > > >     at org.apache.qpid.server.Main.<
> init>(Main.java:134)
> > > >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > >> > > > > > > ../etc/qpidd.properties
> > > >> > > > > > >
> > > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > > >> > -DQPID_LOG_APPEND=
> > > >> > > > > > > Using QPID_CLASSPATH
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > >> > > > > -XX:+UseConcMarkSweepGC
> > > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > > -Xmx1024m
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > *Error: Unrecognized option: -props*
> > > >> > > > > > > How do i change this block from initial configuration to
> > use
> > > >> > > > Anonymous?
> > > >> > > > > > >
> > > >> > > > > > > {
> > > >> > > > > > >   "name": "Broker",
> > > >> > > > > > >   "storeVersion": 1,
> > > >> > > > > > >   "modelVersion": "1.2",
> > > >> > > > > > >   "defaultVirtualHost" : "default",
> > > >> > > > > > >   "authenticationproviders" : [ {
> > > >> > > > > > >     "name" : "passwordFile",
> > > >> > > > > > >     "type" : "PlainPasswordFile",
> > > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > >> > > > > > >     "preferencesproviders" : [{
> > > >> > > > > > >         "name": "fileSystemPreferences",
> > > >> > > > > > >         "type": "FileSystemPreferences",
> > > >> > > > > > >         "path" : "${qpid.work_dir}/user.
> preferences.json"
> > > >> > > > > > >     }]
> > > >> > > > > > >   } ],
> > > >> > > > > > >
> > > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > > >> > > > rob.j.godfrey@gmail.com>
> > > >> > > > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > >> Hi Ram,
> > > >> > > > > > >>
> > > >> > > > > > >> so one approach to this would be to define you
> > > authentication
> > > >> > > > > providers
> > > >> > > > > > up
> > > >> > > > > > >> from in your config file, so you have an an Anonymous
> > > >> provider
> > > >> > > named
> > > >> > > > > > >> "anonymous" and a password file provider named
> > > >> "passwordFile" or
> > > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
> > > etc)
> > > >> you
> > > >> > > can
> > > >> > > > > > >> parameterise the value they have for the name of the
> auth
> > > >> > provider
> > > >> > > > > they
> > > >> > > > > > >> are
> > > >> > > > > > >> using.  So your initial JSON config file could contain
> > > >> something
> > > >> > > > like:
> > > >> > > > > > >>
> > > >> > > > > > >> "ports" : [  {
> > > >> > > > > > >>   "name" : "AMQP",
> > > >> > > > > > >>   "port" : "${qpid.amqp_port}",
> > > >> > > > > > >>   "authenticationProvider" :
> > > >> > > > > "${qpid.amqp_port_authenticationProvider}",
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >> and then you could override which provider to use at
> > > runtime
> > > >> by
> > > >> > > > > setting
> > > >> > > > > > >> the
> > > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> > > anonymous
> > > >> or
> > > >> > > > > > >> passwordFile
> > > >> > > > > > >> (or the name of any other authentication provider that
> is
> > > >> > defined
> > > >> > > in
> > > >> > > > > > your
> > > >> > > > > > >> JSON config.
> > > >> > > > > > >>
> > > >> > > > > > >> The only thing you can't do with properties is to add
> new
> > > >> > entities
> > > >> > > > > into
> > > >> > > > > > >> the
> > > >> > > > > > >> config - that you have to do either by editing the
> file,
> > or
> > > >> by
> > > >> > > using
> > > >> > > > > the
> > > >> > > > > > >> REST api to modify the broker configuration while it is
> > > >> running.
> > > >> > > > > > >>
> > > >> > > > > > >> Hope this helps,
> > > >> > > > > > >> Rob
> > > >> > > > > > >>
> > > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > >> > > > > > rammohanganap@gmail.com>
> > > >> > > > > > >> wrote:
> > > >> > > > > > >>
> > > >> > > > > > >> > Rob,
> > > >> > > > > > >> >
> > > >> > > > > > >> > Thanks for detailed explanation, i wanted to restart
> > with
> > > >> the
> > > >> > > > > changed
> > > >> > > > > > >> > properties if any for example today i have Anonymous
> > SASL
> > > >> and
> > > >> > > > later
> > > >> > > > > i
> > > >> > > > > > >> may
> > > >> > > > > > >> > want to use password file. How do i pass SASL
> mechanism
> > > as
> > > >> > > -prop?
> > > >> > > > > > >> >
> > > >> > > > > > >> > Thanks,
> > > >> > > > > > >> > Ram
> > > >> > > > > > >> >
> > > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > > >> > > > > rob.j.godfrey@gmail.com>
> > > >> > > > > > >> > wrote:
> > > >> > > > > > >> >
> > > >> > > > > > >> > > Hi Ram,
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > The initial config file is only used when there is
> no
> > > >> broker
> > > >> > > > > config
> > > >> > > > > > -
> > > >> > > > > > >> the
> > > >> > > > > > >> > > idea is that it is used to populate the broker
> config
> > > on
> > > >> > first
> > > >> > > > > > >> startup.
> > > >> > > > > > >> > > Once there is a broker config file then this is
> used
> > > >> (since
> > > >> > it
> > > >> > > > may
> > > >> > > > > > >> have
> > > >> > > > > > >> > > been updated by creating or modifying entities
> > through
> > > >> the
> > > >> > > > > > management
> > > >> > > > > > >> > > functions).  The broker ships with a default
> initial
> > > >> config
> > > >> > > > which
> > > >> > > > > is
> > > >> > > > > > >> > > contained within its jar files, however we allow
> > people
> > > >> to
> > > >> > > > provide
> > > >> > > > > > >> there
> > > >> > > > > > >> > > own.  Records in the config file a copied verbatim
> > into
> > > >> the
> > > >> > > > config
> > > >> > > > > > >> store
> > > >> > > > > > >> > -
> > > >> > > > > > >> > > the only difference being that ids are generated
> for
> > > each
> > > >> > > > entity.
> > > >> > > > > > The
> > > >> > > > > > >> > > interpolation from property names to values is done
> > > each
> > > >> > time
> > > >> > > > the
> > > >> > > > > > >> broker
> > > >> > > > > > >> > > reads the config.  If the broker finds there is
> > config
> > > in
> > > >> > the
> > > >> > > > > store
> > > >> > > > > > >> path
> > > >> > > > > > >> > > then it completely ignores the initial config - it
> > does
> > > >> not
> > > >> > > > > examine
> > > >> > > > > > >> any
> > > >> > > > > > >> > > differences.
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > Are you looking to start a completely fresh broker
> > each
> > > >> > time,
> > > >> > > or
> > > >> > > > > > >> merely
> > > >> > > > > > >> > to
> > > >> > > > > > >> > > be able to change certain properties (such as port
> > > >> numbers)
> > > >> > on
> > > >> > > > > each
> > > >> > > > > > >> > > restart?  If you do not want to retain any changes
> to
> > > the
> > > >> > > broker
> > > >> > > > > > >> > > configuration made while the broker is actually
> > > running,
> > > >> > then
> > > >> > > > you
> > > >> > > > > > >> could
> > > >> > > > > > >> > use
> > > >> > > > > > >> > > a "memory" config store rather than a Json one.  If
> > you
> > > >> want
> > > >> > > to
> > > >> > > > > > retain
> > > >> > > > > > >> > any
> > > >> > > > > > >> > > changes made through management, but desire the
> > ability
> > > >> to
> > > >> > > > change
> > > >> > > > > > >> certain
> > > >> > > > > > >> > > properties (like ports) on each startup, then you
> > don't
> > > >> need
> > > >> > > to
> > > >> > > > > > worry
> > > >> > > > > > >> > about
> > > >> > > > > > >> > > the fact that the initial configuration is only
> > loaded
> > > >> the
> > > >> > > first
> > > >> > > > > > time
> > > >> > > > > > >> -
> > > >> > > > > > >> > you
> > > >> > > > > > >> > > just need to pass in the property values you want
> on
> > > >> > startup.
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > In terms of an example system properties file...
> The
> > > >> > default
> > > >> > > > > > >> > > initial-config.json defines the amqp port to be
> > > >> > > > ${qpid.amqp_port}
> > > >> > > > > > and
> > > >> > > > > > >> the
> > > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
> > create a
> > > >> > > > properties
> > > >> > > > > > >> file
> > > >> > > > > > >> > > called rob.properties which contains
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > qpid.http_port=8888
> > > >> > > > > > >> > > qpid.amqp_port=5555
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > and then run qpid with the argument -props
> > > rob.properties
> > > >> > > then I
> > > >> > > > > > >> get...
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP
> port
> > > 5555
> > > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on
> > TCP
> > > >> port
> > > >> > > 8888
> > > >> > > > > > >> > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > So, when you use your initial or stored config you
> > just
> > > >> need
> > > >> > > to
> > > >> > > > > > ensure
> > > >> > > > > > >> > all
> > > >> > > > > > >> > > the variables you use in your config are set in
> your
> > > >> > > properties
> > > >> > > > > file
> > > >> > > > > > >> > (some
> > > >> > > > > > >> > > properties have defaults within the code if they
> are
> > > not
> > > >> > > > otherwise
> > > >> > > > > > >> set -
> > > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is
> not
> > > set
> > > >> > > > > > elsewhere).
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > Hope this helps,
> > > >> > > > > > >> > > Rob
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > >> > > > > > >> rammohanganap@gmail.com
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > wrote:
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > > Rob,
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so
> > what
> > > >> if i
> > > >> > > > have
> > > >> > > > > > >> updated
> > > >> > > > > > >> > > icp
> > > >> > > > > > >> > > > with some property change  and restarted broker
> > with
> > > >> icp
> > > >> > > > (every
> > > >> > > > > > >> time i
> > > >> > > > > > >> > > > restart broker i am using initial config
> > > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure
> if
> > > >> its is
> > > >> > > > right
> > > >> > > > > > way
> > > >> > > > > > >> or
> > > >> > > > > > >> > > > not), does it automatically update config file in
> > > -sp?
> > > >> i
> > > >> > my
> > > >> > > > case
> > > >> > > > > > it
> > > >> > > > > > >> did
> > > >> > > > > > >> > > not
> > > >> > > > > > >> > > > updated the config file in store-path upon
> restart.
> > > >> What
> > > >> > > will
> > > >> > > > > > >> happened
> > > >> > > > > > >> > > if i
> > > >> > > > > > >> > > > have differences in initial config file that i
> use
> > to
> > > >> > start
> > > >> > > > > broker
> > > >> > > > > > >> and
> > > >> > > > > > >> > > the
> > > >> > > > > > >> > > > config file under store-path?
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > Thanks,
> > > >> > > > > > >> > > > Ram
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > >> > > > > > >> rob.j.godfrey@gmail.com>
> > > >> > > > > > >> > > > wrote:
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > > This looks like a client error to me... the
> line
> > > >> which
> > > >> > > says:
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > Out of interest what happens if you remove the
> > > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> > > >> > > > > > >> > > > from
> > > >> > > > > > >> > > > > your connection URL?  Without any sort of
> > > restriction
> > > >> > I'd
> > > >> > > > > expect
> > > >> > > > > > >> the
> > > >> > > > > > >> > > > client
> > > >> > > > > > >> > > > > to do the right thing.
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )...
> > I'll
> > > >> have
> > > >> > > > deeper
> > > >> > > > > > >> look
> > > >> > > > > > >> > in
> > > >> > > > > > >> > > > the
> > > >> > > > > > >> > > > > morning.
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > -- Rob
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan
> ganapavarapu <
> > > >> > > > > > >> > > rammohanganap@gmail.com
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > wrote:
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > > > > Rob,
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > thanks for the explanation, do you have a
> > sample
> > > >> > > > > > >> > > > > --system-properties-file?
> > > >> > > > > > >> > > > > > that i can take a look?
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> > > >> throwing
> > > >> > > this
> > > >> > > > > > >> error, i
> > > >> > > > > > >> > > am
> > > >> > > > > > >> > > > > not
> > > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
> > > change
> > > >> > the
> > > >> > > > > > existing
> > > >> > > > > > >> > code
> > > >> > > > > > >> > > > but
> > > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
> > error
> > > i
> > > >> am
> > > >> > > > > getting
> > > >> > > > > > >> with
> > > >> > > > > > >> > > > > 6.0.1v..
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> > > >> > > > > > >> > > > > >
> > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > >> > > > > > ERROR
> > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > > >> > ConnectionImpl.openConnection() :
> > > >> > > > > Error
> > > >> > > > > > >> > > > connecting
> > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> >
> > > >> > > > > > >>
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> > url=amqp://null:********@qphost011460067563391/?
> > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > > >> sasl_mechs='ANONYMOUS''
> > > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> > > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> > > >> > > > > > >> > > > > >
> > > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > >> > > > > > ERROR
> > > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > > >> > ConnectionImpl.openConnection() :
> > > >> > > > > Error
> > > >> > > > > > >> > > > connecting
> > > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> >
> > > >> > > > > > >>
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> > url=amqp://null:********@qphost011460067563391/?
> > > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > > >> sasl_mechs='ANONYMOUS''
> > > >> > > > > > >> > > > > > error Client and broker have no SASL
> mechanisms
> > > in
> > > >> > > common.
> > > >> > > > > > >> Broker
> > > >> > > > > > >> > > > allows
> > > >> > > > > > >> > > > > :
> > > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > >> > > CRAM-MD5-HASHED,
> > > >> > > > > > >> > CRAM-MD5,
> > > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> > > >> itself
> > > >> > to
> > > >> > > :
> > > >> > > > > > PLAIN
> > > >> > > > > > >> > > > > > username=guest
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > And here is my sasl mechanism.
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> > > >> > > > > > >> > > > > > {
> > > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> > > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app
> but
> > > >> 6.0.1
> > > >> > is
> > > >> > > > not
> > > >> > > > > > >> > working.
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > Thanks,
> > > >> > > > > > >> > > > > > Ram
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > > >> > > > > > >> > rob.j.godfrey@gmail.com
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > > > wrote:
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> > > ganapavarapu <
> > > >> > > > > > >> > > > > rammohanganap@gmail.com
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > wrote:
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > > Rob,
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> > > >> > authentication?
> > > >> > > > last
> > > >> > > > > > >> time
> > > >> > > > > > >> > > when
> > > >> > > > > > >> > > > i
> > > >> > > > > > >> > > > > > try
> > > >> > > > > > >> > > > > > > to
> > > >> > > > > > >> > > > > > > > use .32 it was not working with
> Anonymous.
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> > > protocol
> > > >> > are
> > > >> > > > you
> > > >> > > > > > >> using
> > > >> > > > > > >> > > > (0-9-1,
> > > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
> > Anonymous
> > > >> > should
> > > >> > > > work
> > > >> > > > > > on
> > > >> > > > > > >> > 0.32
> > > >> > > > > > >> > > > > > however
> > > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication
> layer
> > at
> > > >> all"
> > > >> > > > > option
> > > >> > > > > > >> for
> > > >> > > > > > >> > > AMQP
> > > >> > > > > > >> > > > > 1.0
> > > >> > > > > > >> > > > > > > probably didn't work (this is different to
> an
> > > >> > > > > authentication
> > > >> > > > > > >> > layer
> > > >> > > > > > >> > > > > which
> > > >> > > > > > >> > > > > > > allows anonymous).
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
> > email, i
> > > >> was
> > > >> > > > taking
> > > >> > > > > > >> about
> > > >> > > > > > >> > > > > > properties
> > > >> > > > > > >> > > > > > > > file not broker storage format, the use
> > case
> > > is
> > > >> > if i
> > > >> > > > > > wanted
> > > >> > > > > > >> to
> > > >> > > > > > >> > > > > override
> > > >> > > > > > >> > > > > > > > some of these properties and i have my
> own
> > > >> custom
> > > >> > > > > > >> tool/script
> > > >> > > > > > >> > > that
> > > >> > > > > > >> > > > > > goes
> > > >> > > > > > >> > > > > > > > through the properties files and replace
> > with
> > > >> the
> > > >> > > > > > override i
> > > >> > > > > > >> > > > defined,
> > > >> > > > > > >> > > > > > so
> > > >> > > > > > >> > > > > > > i
> > > >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
> > > >> config
> > > >> > as
> > > >> > > > > well.
> > > >> > > > > > My
> > > >> > > > > > >> > tool
> > > >> > > > > > >> > > > > only
> > > >> > > > > > >> > > > > > > > support key:value but if we have json
> array
> > > it
> > > >> > wont
> > > >> > > > > work.
> > > >> > > > > > So
> > > >> > > > > > >> > if i
> > > >> > > > > > >> > > > > want
> > > >> > > > > > >> > > > > > to
> > > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> > > >> arguments
> > > >> > > what
> > > >> > > > > are
> > > >> > > > > > >> the
> > > >> > > > > > >> > > > > > properties
> > > >> > > > > > >> > > > > > > > that java qpid support as command line?
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > Below if my config, is it possible to
> pass
> > > all
> > > >> > these
> > > >> > > > as
> > > >> > > > > > >> command
> > > >> > > > > > >> > > > line
> > > >> > > > > > >> > > > > > > > arguments?
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > {
> > > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > > >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
> > > >> 1f1b258ea3ac",
> > > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> > > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> > > >> > > > > > >> > > > > > > >   } ],
> > > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
> > > >> 268295f580bc",
> > > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > > >> > > > > > >> > > > > > > >   "name" : "Broker",
> > > >> > > > > > >> > > > > > > >   "plugins" : [ {
> > > >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
> > > >> 4cfd63266dbf",
> > > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > >> > > > > > >> > > > > > > >   }, {
> > > >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
> > > >> 27a58fd2df89",
> > > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> > > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > >> > > > > > >> > > > > > > >   } ],
> > > >> > > > > > >> > > > > > > >   "ports" : [ {
> > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> "Anonymous",
> > > >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
> > > >> 8c452149cdae",
> > > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > >> > > > > > >> > > > > > > >     "port" : "9099",
> > > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > >> > > > > > >> > > > > > > >   }, {
> > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> "Anonymous",
> > > >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
> > > >> 75802f3b6553",
> > > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > >> > > > > > >> > > > > > > >     "port" : "8999",
> > > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > >> > > > > > >> > > > > > > >   }, {
> > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> "Anonymous",
> > > >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
> > > >> 3113b46157f9",
> > > >> > > > > > >> > > > > > > >     "name" : "AMQP",
> > > >> > > > > > >> > > > > > > >     "port" : "5672"
> > > >> > > > > > >> > > > > > > >   }, {
> > > >> > > > > > >> > > > > > > >     "authenticationProvider" :
> "Anonymous",
> > > >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
> > > >> f2606b5e4f6e",
> > > >> > > > > > >> > > > > > > >     "name" : "HTTP",
> > > >> > > > > > >> > > > > > > >     "port" : "10001",
> > > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > >> > > > > > >> > > > > > > >   } ],
> > > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> > > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> > > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
> > > >> fe2b34e54503",
> > > >> > > > > > >> > > > > > > >     "name" : "default",
> > > >> > > > > > >> > > > > > > >     "storePath" :
> > "/ebs//derbystore/default",
> > > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> > > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> > > >> > > > > > >> > > > > > > >   } ]
> > > >> > > > > > >> > > > > > > > }
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the
> JSON
> > > >> with a
> > > >> > > > > > reference
> > > >> > > > > > >> to
> > > >> > > > > > >> > a
> > > >> > > > > > >> > > > > > > property, for example
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > "name" : "${myPortName}",
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > this will then interpolate the value from
> the
> > > >> > > property,
> > > >> > > > so
> > > >> > > > > > if
> > > >> > > > > > >> you
> > > >> > > > > > >> > > set
> > > >> > > > > > >> > > > > the
> > > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will
> > be
> > > >> the
> > > >> > > value
> > > >> > > > > > used.
> > > >> > > > > > >> > > Type
> > > >> > > > > > >> > > > > > > conversions will be performed, so if the
> > > required
> > > >> > > value
> > > >> > > > is
> > > >> > > > > > an
> > > >> > > > > > >> > > integer
> > > >> > > > > > >> > > > > it
> > > >> > > > > > >> > > > > > > will convert to an integer.  If the value
> > > >> required
> > > >> > is
> > > >> > > a
> > > >> > > > > list
> > > >> > > > > > >> then
> > > >> > > > > > >> > > you
> > > >> > > > > > >> > > > > can
> > > >> > > > > > >> > > > > > > use a String representation of a list in
> Json
> > > >> > format.
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > You can set the properties individually, or
> > you
> > > >> can
> > > >> > > pass
> > > >> > > > > in
> > > >> > > > > > a
> > > >> > > > > > >> > > > > properties
> > > >> > > > > > >> > > > > > > file using -props or
> --system-properties-file
> > > >> (so if
> > > >> > > you
> > > >> > > > > > have
> > > >> > > > > > >> a
> > > >> > > > > > >> > > > > > properties
> > > >> > > > > > >> > > > > > > file already maybe you can just pass this
> > in).
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > > One more question or may be clarification
> > is,
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
> > > file
> > > >> > that
> > > >> > > > will
> > > >> > > > > > >> > > generated
> > > >> > > > > > >> > > > by
> > > >> > > > > > >> > > > > > > qpidd
> > > >> > > > > > >> > > > > > > > from the initial config right? what is
> the
> > > use
> > > >> of
> > > >> > > > > > >> store-path?*
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > That is correct.  Some people just like to
> > have
> > > >> > config
> > > >> > > > > files
> > > >> > > > > > >> in a
> > > >> > > > > > >> > > > > > > non-default location :-)
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > Hope this helps,
> > > >> > > > > > >> > > > > > > Rob
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > > > > *Thanks,*
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > *Ram*
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
> > Godfrey <
> > > >> > > > > > >> > > > rob.j.godfrey@gmail.com
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > > > > > wrote:
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I
> would
> > > >> > recommend
> > > >> > > > > > >> updating
> > > >> > > > > > >> > to
> > > >> > > > > > >> > > > > v6.0.1
> > > >> > > > > > >> > > > > > > if
> > > >> > > > > > >> > > > > > > > > you can.
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> > > >> > question -
> > > >> > > > are
> > > >> > > > > > you
> > > >> > > > > > >> > > asking
> > > >> > > > > > >> > > > > > about
> > > >> > > > > > >> > > > > > > > > overriding particular properties, or
> the
> > > >> storage
> > > >> > > > > format
> > > >> > > > > > >> for
> > > >> > > > > > >> > the
> > > >> > > > > > >> > > > > > broker
> > > >> > > > > > >> > > > > > > > > configuration - these are two different
> > > >> things.
> > > >> > > In
> > > >> > > > > > terms
> > > >> > > > > > >> of
> > > >> > > > > > >> > > > > > > properties /
> > > >> > > > > > >> > > > > > > > > context overrides this can be specified
> > > >> using a
> > > >> > > > > > properties
> > > >> > > > > > >> > file
> > > >> > > > > > >> > > > (at
> > > >> > > > > > >> > > > > > > least
> > > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked
> on
> > > >> 0.28).
> > > >> > > In
> > > >> > > > > > >> terms of
> > > >> > > > > > >> > > the
> > > >> > > > > > >> > > > > > > > > configuration, JSON is currently the
> only
> > > >> text
> > > >> > > based
> > > >> > > > > > >> format
> > > >> > > > > > >> > > > > > supported.
> > > >> > > > > > >> > > > > > > > You
> > > >> > > > > > >> > > > > > > > > can use a database for the broker
> config
> > > >> > storage,
> > > >> > > > > there
> > > >> > > > > > >> are
> > > >> > > > > > >> > > built
> > > >> > > > > > >> > > > > in
> > > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> > > generic
> > > >> > JDBC
> > > >> > > > > > config
> > > >> > > > > > >> > > stores.
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > May I ask what advantage you would get
> by
> > > >> using
> > > >> > > YAML
> > > >> > > > > or
> > > >> > > > > > >> > > > properties
> > > >> > > > > > >> > > > > > > files
> > > >> > > > > > >> > > > > > > > > instead of JSON?
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > -- Rob
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> > > >> ganapavarapu
> > > >> > <
> > > >> > > > > > >> > > > > > > rammohanganap@gmail.com
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > wrote:
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > > > > Hi,
> > > >> > > > > > >> > > > > > > > > >
> > > >> > > > > > >> > > > > > > > > > Is there any way to start
> > qpid-java-0.28
> > > >> > broker
> > > >> > > > > using
> > > >> > > > > > >> > > > .properties
> > > >> > > > > > >> > > > > > > file
> > > >> > > > > > >> > > > > > > > or
> > > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json
> > file?
> > > >> or
> > > >> > > what
> > > >> > > > > are
> > > >> > > > > > >> the
> > > >> > > > > > >> > > other
> > > >> > > > > > >> > > > > > ways
> > > >> > > > > > >> > > > > > > to
> > > >> > > > > > >> > > > > > > > > > pass override properties instead of
> > JSON
> > > >> > config
> > > >> > > > > file?
> > > >> > > > > > >> > > > > > > > > >
> > > >> > > > > > >> > > > > > > > > >
> > > >> > > > > > >> > > > > > > > > > Thanks,
> > > >> > > > > > >> > > > > > > > > > Ram
> > > >> > > > > > >> > > > > > > > > >
> > > >> > > > > > >> > > > > > > > >
> > > >> > > > > > >> > > > > > > >
> > > >> > > > > > >> > > > > > >
> > > >> > > > > > >> > > > > >
> > > >> > > > > > >> > > > >
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> >
> > > >> > > > > > >>
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Yes, i changed it to use Anonymous and its working now. Now i need some
documents or suggestions on how to configure Mem settings and flow to disk
settings in config.json

Thanks,
Ram

On Fri, Aug 26, 2016 at 12:16 PM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> I assume that you have configured port 5672 to use the Plain auth provider
> (each port can only be associated with a single auth provider - you can add
> other ports which use the a different auth provider).  The issue here is
> that by default the Java Broker will not allow PLAIN SASL over a non-TLS
> connection.  You can override this by changing the "secureOnlyMechanisms"
> attribute of the (password) auth provider.  Setting this value to the empty
> list within the password auth provider section
>
>             "secureOnlyMechanisms" : [ ],
>
> in your json config file, will mean than PLAIN will be offered as a
> mechanism.
>
> Alternatively you can change your port configuration to use you anonymous
> authentication provider, rather than the password provider.
>
> Hope this helps,
> Rob
>
>
> On 26 August 2016 at 19:27, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> wrote:
>
> > Rob,
> >
> > I have followed as you said and created a clean slate v6 broker and from
> UI
> > created two auth provides palin and anonimous but when i make this api
> call
> > i am getting different sasl list
> >
> >  curl -s http://localhost:10001/service/sasl
> > {
> >   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
> >
> > and as you told you before my client is throwing this error, so client
> has
> > a logic to try Plain with user  guest first if it doesn't work then try
> > anonymous. Since broker doesn't have any of those in its sasl list may be
> > its not able to connect?
> >
> >
> > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > connecttimeout='5000'&sasl_mechs='PLAIN''
> > Not Connected. error Client and broker have no SASL mechanisms in common.
> > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> [EXTERNAL,
> > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
> > username=guest
> >
> >
> > and
> >
> > url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> > connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > Not Connected. error Client and broker have no SASL mechanisms in common.
> > Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has :
> [EXTERNAL,
> > GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> > AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : ANONYMOUS
> > username=null
> >
> > Thanks,
> > Ram
> >
> > On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> > rammohanganap@gmail.com> wrote:
> >
> > > Hi Rob,
> > >
> > > I did not get chance to try v6, i will try and let you know.
> > >
> > > Ram
> > >
> > > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > wrote:
> > >
> > >> Hi Ram,
> > >>
> > >> have you got v6 working now?  The memory settings for the broker
> depend
> > >> upon which version you are using.  For version 6 there is a
> > comprehensive
> > >> discussion on memory allocation settings in the manual:
> > >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
> > >> broker/book/Java-Broker-Runtime-Memory.html
> > >>
> > >> Versions prior to v6 use memory (and threads) very differently.
> > >>
> > >> Hope this helps,
> > >> Rob
> > >>
> > >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > >> >
> > >> wrote:
> > >>
> > >> > Rob,
> > >> >
> > >> > One more question in the same context, what are the recommended JVM
> > >> > settings for java broker? i am using default "-Xmx1024m" its working
> > >> fine
> > >> > but i wanted to follow the best practices. Please advice.
> > >> >
> > >> >
> > >> > Thanks,
> > >> > Ram
> > >> >
> > >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com
> > >
> > >> > wrote:
> > >> >
> > >> > > Hi Ram,
> > >> > >
> > >> > > Apologies, I've been having a few issues with my internet
> provider.
> > >> > >
> > >> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> > >> > > configuring (through the UI) that to use ANONYMOUS, and then check
> > >> your
> > >> > > client can connect.
> > >> > >
> > >> > > This is what I did, and it works fine for me.
> > >> > >
> > >> > > For the rest of your requirements (like setting the log file
> > location,
> > >> > > etc.) you really want to be using version 6 or later.
> > >> > >
> > >> > > Cheers,
> > >> > > Rob
> > >> > >
> > >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> > >> > rammohanganap@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > Rob,
> > >> > > >
> > >> > > > I have tried with virtualhost config that you have provided but
> i
> > am
> > >> > > still
> > >> > > > getting connection error. I would like to make it work with 6.0*
> > >> > version
> > >> > > > but at this point i need 0.28 version to make working, so if you
> > can
> > >> > help
> > >> > > > me to configure log location in 0.28 that would unblock me for
> > now.
> > >> > > >
> > >> > > > Thanks,
> > >> > > > Ram
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to
> Connection
> > :
> > >> 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> in
> > >> > common.
> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> to
> > :
> > >> > PLAIN
> > >> > > > username=guest
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> > null
> > >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > >> > > c.a.a.q.QueueBuilder -
> > >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > >> > > c.a.a.q.QueueBuilder -
> > >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> > >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to
> Connection
> > :
> > >> 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > Not Connected. error Unknown virtualhost '' username=null
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.openConnection() : Error connecting to
> Connection
> > :
> > >> 0
> > >> > > Host =
> > >> > > > localhost
> > >> > > >
> > >> > > >
> > >> > >
> > >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> > >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > >> > > > Not Connected. error Client and broker have no SASL mechanisms
> in
> > >> > common.
> > >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> to
> > :
> > >> > PLAIN
> > >> > > > username=guest
> > >> > > >
> > >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > >> > > S.QUEUECLIENTSERVICE -
> > >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> > null
> > >> > > >
> > >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> > >> rob.j.godfrey@gmail.com>
> > >> > > > wrote:
> > >> > > >
> > >> > > > > Hi Ram,
> > >> > > > >
> > >> > > > > in 6.0.x the log file location can be changed directly through
> > the
> > >> > > config
> > >> > > > > json - I really think we should first concentrate on getting
> > that
> > >> > > working
> > >> > > > > for you.
> > >> > > > >
> > >> > > > > I've verified that using the 6.0.x client and broker with a
> URL
> > >> > similar
> > >> > > > to
> > >> > > > > the one in your log file works for ANONYMOUS.
> > >> > > > >
> > >> > > > > Looking at your error output again I notice that there seem
> > >> actually
> > >> > to
> > >> > > > be
> > >> > > > > two connection attempts, the first ends with:
> > >> > > > >
> > >> > > > > error Unknown virtualhost '' username=null
> > >> > > > >
> > >> > > > > Then we see the second failure with the "PLAIN" error.  That
> > first
> > >> > > error
> > >> > > > > indicate that ANONYMOUS log in was actually successful,
> however
> > >> you
> > >> > > were
> > >> > > > > the running into the fact that no virtualhost is mapped to the
> > >> empty
> > >> > > > > string.  That suggests to me that you don't have any
> > >> > virtualhostaliases
> > >> > > > > defined in your (AMQP) port config. I'd suggest that it would
> > make
> > >> > > sense
> > >> > > > to
> > >> > > > > craft an initial config based on the default initial config
> for
> > >> 6.0.x
> > >> > > > which
> > >> > > > > will include a virtualhostaliases section in the AMQP port
> which
> > >> > looks
> > >> > > > > like:
> > >> > > > >
> > >> > > > > "virtualhostaliases" : [ {
> > >> > > > >    "name" : "nameAlias",
> > >> > > > >    "type" : "nameAlias"
> > >> > > > > }, {
> > >> > > > >     "name" : "defaultAlias",
> > >> > > > >     "type" : "defaultAlias"
> > >> > > > > }, {
> > >> > > > >     "name" : "hostnameAlias",
> > >> > > > >     "type" : "hostnameAlias"
> > >> > > > > } ]
> > >> > > > >
> > >> > > > >
> > >> > > > > Let me know if this works for you, then we can look at some of
> > >> your
> > >> > > other
> > >> > > > > questions.
> > >> > > > >
> > >> > > > > -- Rob
> > >> > > > >
> > >> > > > >
> > >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > >> > > rammohanganap@gmail.com
> > >> > > > >
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > > > Rob,
> > >> > > > > >
> > >> > > > > > Also how do i pass logfile location as -prop as commandline
> > >> > argument?
> > >> > > > or
> > >> > > > > > how do i change default log file location i know we can
> update
> > >> > > > log4j.xml
> > >> > > > > > but is there any other way?
> > >> > > > > >
> > >> > > > > > Ram
> > >> > > > > >
> > >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > >> > > > > > rammohanganap@gmail.com> wrote:
> > >> > > > > >
> > >> > > > > > > Rob,
> > >> > > > > > >
> > >> > > > > > > I tried passing properties file as argument but it didnt
> > like
> > >> it.
> > >> > > > Does
> > >> > > > > it
> > >> > > > > > > support in 0.28v?
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > >> > > > > > ../etc/qpidd.properties
> > >> > > > > > >
> > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > >> > -DQPID_LOG_APPEND=
> > >> > > > > > > Using QPID_CLASSPATH
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > >> > > > > -XX:+UseConcMarkSweepGC
> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > -Xmx1024m
> > >> > > > > > > Exception during startup: java.lang.
> > IllegalArgumentException:
> > >> > > > > > > Configuration property argument is not of the format
> > >> name=value:
> > >> > > > > > > ../etc/qpidd.properties
> > >> > > > > > > java.lang.IllegalArgumentException: Configuration
> property
> > >> > argument
> > >> > > > is
> > >> > > > > > not
> > >> > > > > > > of the format name=value: ../etc/qpidd.properties
> > >> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > >> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > >> > > > > > > ../etc/qpidd.properties
> > >> > > > > > >
> > >> > > > > > > System Properties set to -Damqj.logging.level=info
> > >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > >> > -DQPID_LOG_APPEND=
> > >> > > > > > > Using QPID_CLASSPATH
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> > >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> > >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > >> > > > > -XX:+UseConcMarkSweepGC
> > >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> > -Xmx1024m
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > *Error: Unrecognized option: -props*
> > >> > > > > > > How do i change this block from initial configuration to
> use
> > >> > > > Anonymous?
> > >> > > > > > >
> > >> > > > > > > {
> > >> > > > > > >   "name": "Broker",
> > >> > > > > > >   "storeVersion": 1,
> > >> > > > > > >   "modelVersion": "1.2",
> > >> > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > >     "name" : "passwordFile",
> > >> > > > > > >     "type" : "PlainPasswordFile",
> > >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > >> > > > > > >     "preferencesproviders" : [{
> > >> > > > > > >         "name": "fileSystemPreferences",
> > >> > > > > > >         "type": "FileSystemPreferences",
> > >> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > >> > > > > > >     }]
> > >> > > > > > >   } ],
> > >> > > > > > >
> > >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > >> > > > rob.j.godfrey@gmail.com>
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > >> Hi Ram,
> > >> > > > > > >>
> > >> > > > > > >> so one approach to this would be to define you
> > authentication
> > >> > > > > providers
> > >> > > > > > up
> > >> > > > > > >> from in your config file, so you have an an Anonymous
> > >> provider
> > >> > > named
> > >> > > > > > >> "anonymous" and a password file provider named
> > >> "passwordFile" or
> > >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
> > etc)
> > >> you
> > >> > > can
> > >> > > > > > >> parameterise the value they have for the name of the auth
> > >> > provider
> > >> > > > > they
> > >> > > > > > >> are
> > >> > > > > > >> using.  So your initial JSON config file could contain
> > >> something
> > >> > > > like:
> > >> > > > > > >>
> > >> > > > > > >> "ports" : [  {
> > >> > > > > > >>   "name" : "AMQP",
> > >> > > > > > >>   "port" : "${qpid.amqp_port}",
> > >> > > > > > >>   "authenticationProvider" :
> > >> > > > > "${qpid.amqp_port_authenticationProvider}",
> > >> > > > > > >>
> > >> > > > > > >>
> > >> > > > > > >> and then you could override which provider to use at
> > runtime
> > >> by
> > >> > > > > setting
> > >> > > > > > >> the
> > >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> > anonymous
> > >> or
> > >> > > > > > >> passwordFile
> > >> > > > > > >> (or the name of any other authentication provider that is
> > >> > defined
> > >> > > in
> > >> > > > > > your
> > >> > > > > > >> JSON config.
> > >> > > > > > >>
> > >> > > > > > >> The only thing you can't do with properties is to add new
> > >> > entities
> > >> > > > > into
> > >> > > > > > >> the
> > >> > > > > > >> config - that you have to do either by editing the file,
> or
> > >> by
> > >> > > using
> > >> > > > > the
> > >> > > > > > >> REST api to modify the broker configuration while it is
> > >> running.
> > >> > > > > > >>
> > >> > > > > > >> Hope this helps,
> > >> > > > > > >> Rob
> > >> > > > > > >>
> > >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > >> > > > > > rammohanganap@gmail.com>
> > >> > > > > > >> wrote:
> > >> > > > > > >>
> > >> > > > > > >> > Rob,
> > >> > > > > > >> >
> > >> > > > > > >> > Thanks for detailed explanation, i wanted to restart
> with
> > >> the
> > >> > > > > changed
> > >> > > > > > >> > properties if any for example today i have Anonymous
> SASL
> > >> and
> > >> > > > later
> > >> > > > > i
> > >> > > > > > >> may
> > >> > > > > > >> > want to use password file. How do i pass SASL mechanism
> > as
> > >> > > -prop?
> > >> > > > > > >> >
> > >> > > > > > >> > Thanks,
> > >> > > > > > >> > Ram
> > >> > > > > > >> >
> > >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > >> > > > > rob.j.godfrey@gmail.com>
> > >> > > > > > >> > wrote:
> > >> > > > > > >> >
> > >> > > > > > >> > > Hi Ram,
> > >> > > > > > >> > >
> > >> > > > > > >> > > The initial config file is only used when there is no
> > >> broker
> > >> > > > > config
> > >> > > > > > -
> > >> > > > > > >> the
> > >> > > > > > >> > > idea is that it is used to populate the broker config
> > on
> > >> > first
> > >> > > > > > >> startup.
> > >> > > > > > >> > > Once there is a broker config file then this is used
> > >> (since
> > >> > it
> > >> > > > may
> > >> > > > > > >> have
> > >> > > > > > >> > > been updated by creating or modifying entities
> through
> > >> the
> > >> > > > > > management
> > >> > > > > > >> > > functions).  The broker ships with a default initial
> > >> config
> > >> > > > which
> > >> > > > > is
> > >> > > > > > >> > > contained within its jar files, however we allow
> people
> > >> to
> > >> > > > provide
> > >> > > > > > >> there
> > >> > > > > > >> > > own.  Records in the config file a copied verbatim
> into
> > >> the
> > >> > > > config
> > >> > > > > > >> store
> > >> > > > > > >> > -
> > >> > > > > > >> > > the only difference being that ids are generated for
> > each
> > >> > > > entity.
> > >> > > > > > The
> > >> > > > > > >> > > interpolation from property names to values is done
> > each
> > >> > time
> > >> > > > the
> > >> > > > > > >> broker
> > >> > > > > > >> > > reads the config.  If the broker finds there is
> config
> > in
> > >> > the
> > >> > > > > store
> > >> > > > > > >> path
> > >> > > > > > >> > > then it completely ignores the initial config - it
> does
> > >> not
> > >> > > > > examine
> > >> > > > > > >> any
> > >> > > > > > >> > > differences.
> > >> > > > > > >> > >
> > >> > > > > > >> > > Are you looking to start a completely fresh broker
> each
> > >> > time,
> > >> > > or
> > >> > > > > > >> merely
> > >> > > > > > >> > to
> > >> > > > > > >> > > be able to change certain properties (such as port
> > >> numbers)
> > >> > on
> > >> > > > > each
> > >> > > > > > >> > > restart?  If you do not want to retain any changes to
> > the
> > >> > > broker
> > >> > > > > > >> > > configuration made while the broker is actually
> > running,
> > >> > then
> > >> > > > you
> > >> > > > > > >> could
> > >> > > > > > >> > use
> > >> > > > > > >> > > a "memory" config store rather than a Json one.  If
> you
> > >> want
> > >> > > to
> > >> > > > > > retain
> > >> > > > > > >> > any
> > >> > > > > > >> > > changes made through management, but desire the
> ability
> > >> to
> > >> > > > change
> > >> > > > > > >> certain
> > >> > > > > > >> > > properties (like ports) on each startup, then you
> don't
> > >> need
> > >> > > to
> > >> > > > > > worry
> > >> > > > > > >> > about
> > >> > > > > > >> > > the fact that the initial configuration is only
> loaded
> > >> the
> > >> > > first
> > >> > > > > > time
> > >> > > > > > >> -
> > >> > > > > > >> > you
> > >> > > > > > >> > > just need to pass in the property values you want on
> > >> > startup.
> > >> > > > > > >> > >
> > >> > > > > > >> > > In terms of an example system properties file...  The
> > >> > default
> > >> > > > > > >> > > initial-config.json defines the amqp port to be
> > >> > > > ${qpid.amqp_port}
> > >> > > > > > and
> > >> > > > > > >> the
> > >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I
> create a
> > >> > > > properties
> > >> > > > > > >> file
> > >> > > > > > >> > > called rob.properties which contains
> > >> > > > > > >> > >
> > >> > > > > > >> > > qpid.http_port=8888
> > >> > > > > > >> > > qpid.amqp_port=5555
> > >> > > > > > >> > >
> > >> > > > > > >> > > and then run qpid with the argument -props
> > rob.properties
> > >> > > then I
> > >> > > > > > >> get...
> > >> > > > > > >> > >
> > >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port
> > 5555
> > >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on
> TCP
> > >> port
> > >> > > 8888
> > >> > > > > > >> > >
> > >> > > > > > >> > >
> > >> > > > > > >> > > So, when you use your initial or stored config you
> just
> > >> need
> > >> > > to
> > >> > > > > > ensure
> > >> > > > > > >> > all
> > >> > > > > > >> > > the variables you use in your config are set in your
> > >> > > properties
> > >> > > > > file
> > >> > > > > > >> > (some
> > >> > > > > > >> > > properties have defaults within the code if they are
> > not
> > >> > > > otherwise
> > >> > > > > > >> set -
> > >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not
> > set
> > >> > > > > > elsewhere).
> > >> > > > > > >> > >
> > >> > > > > > >> > > Hope this helps,
> > >> > > > > > >> > > Rob
> > >> > > > > > >> > >
> > >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > >> > > > > > >> rammohanganap@gmail.com
> > >> > > > > > >> > >
> > >> > > > > > >> > > wrote:
> > >> > > > > > >> > >
> > >> > > > > > >> > > > Rob,
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so
> what
> > >> if i
> > >> > > > have
> > >> > > > > > >> updated
> > >> > > > > > >> > > icp
> > >> > > > > > >> > > > with some property change  and restarted broker
> with
> > >> icp
> > >> > > > (every
> > >> > > > > > >> time i
> > >> > > > > > >> > > > restart broker i am using initial config
> > >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
> > >> its is
> > >> > > > right
> > >> > > > > > way
> > >> > > > > > >> or
> > >> > > > > > >> > > > not), does it automatically update config file in
> > -sp?
> > >> i
> > >> > my
> > >> > > > case
> > >> > > > > > it
> > >> > > > > > >> did
> > >> > > > > > >> > > not
> > >> > > > > > >> > > > updated the config file in store-path upon restart.
> > >> What
> > >> > > will
> > >> > > > > > >> happened
> > >> > > > > > >> > > if i
> > >> > > > > > >> > > > have differences in initial config file that i use
> to
> > >> > start
> > >> > > > > broker
> > >> > > > > > >> and
> > >> > > > > > >> > > the
> > >> > > > > > >> > > > config file under store-path?
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > Thanks,
> > >> > > > > > >> > > > Ram
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > >> > > > > > >> rob.j.godfrey@gmail.com>
> > >> > > > > > >> > > > wrote:
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > > This looks like a client error to me... the line
> > >> which
> > >> > > says:
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > Out of interest what happens if you remove the
> > >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> > >> > > > > > >> > > > from
> > >> > > > > > >> > > > > your connection URL?  Without any sort of
> > restriction
> > >> > I'd
> > >> > > > > expect
> > >> > > > > > >> the
> > >> > > > > > >> > > > client
> > >> > > > > > >> > > > > to do the right thing.
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )...
> I'll
> > >> have
> > >> > > > deeper
> > >> > > > > > >> look
> > >> > > > > > >> > in
> > >> > > > > > >> > > > the
> > >> > > > > > >> > > > > morning.
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > -- Rob
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > >> > > > > > >> > > rammohanganap@gmail.com
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > wrote:
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > > > > Rob,
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > thanks for the explanation, do you have a
> sample
> > >> > > > > > >> > > > > --system-properties-file?
> > >> > > > > > >> > > > > > that i can take a look?
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> > >> throwing
> > >> > > this
> > >> > > > > > >> error, i
> > >> > > > > > >> > > am
> > >> > > > > > >> > > > > not
> > >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
> > change
> > >> > the
> > >> > > > > > existing
> > >> > > > > > >> > code
> > >> > > > > > >> > > > but
> > >> > > > > > >> > > > > > wanted to make java qpid work. This is the
> error
> > i
> > >> am
> > >> > > > > getting
> > >> > > > > > >> with
> > >> > > > > > >> > > > > 6.0.1v..
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> > >> > > > > > >> > > > > >
> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > >> > > > > > ERROR
> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > >> > ConnectionImpl.openConnection() :
> > >> > > > > Error
> > >> > > > > > >> > > > connecting
> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> > url=amqp://null:********@qphost011460067563391/?
> > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > >> sasl_mechs='ANONYMOUS''
> > >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> > >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> > >> > > > > > >> > > > > >
> > >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > >> > > > > > ERROR
> > >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > >> > ConnectionImpl.openConnection() :
> > >> > > > > Error
> > >> > > > > > >> > > > connecting
> > >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> > url=amqp://null:********@qphost011460067563391/?
> > >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> > >> sasl_mechs='ANONYMOUS''
> > >> > > > > > >> > > > > > error Client and broker have no SASL mechanisms
> > in
> > >> > > common.
> > >> > > > > > >> Broker
> > >> > > > > > >> > > > allows
> > >> > > > > > >> > > > > :
> > >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > >> > > CRAM-MD5-HASHED,
> > >> > > > > > >> > CRAM-MD5,
> > >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> > >> itself
> > >> > to
> > >> > > :
> > >> > > > > > PLAIN
> > >> > > > > > >> > > > > > username=guest
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > And here is my sasl mechanism.
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> > >> > > > > > >> > > > > > {
> > >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> > >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
> > >> 6.0.1
> > >> > is
> > >> > > > not
> > >> > > > > > >> > working.
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > Thanks,
> > >> > > > > > >> > > > > > Ram
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > >> > > > > > >> > rob.j.godfrey@gmail.com
> > >> > > > > > >> > > >
> > >> > > > > > >> > > > > > wrote:
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> > ganapavarapu <
> > >> > > > > > >> > > > > rammohanganap@gmail.com
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > wrote:
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > Rob,
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> > >> > authentication?
> > >> > > > last
> > >> > > > > > >> time
> > >> > > > > > >> > > when
> > >> > > > > > >> > > > i
> > >> > > > > > >> > > > > > try
> > >> > > > > > >> > > > > > > to
> > >> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> > protocol
> > >> > are
> > >> > > > you
> > >> > > > > > >> using
> > >> > > > > > >> > > > (0-9-1,
> > >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that
> Anonymous
> > >> > should
> > >> > > > work
> > >> > > > > > on
> > >> > > > > > >> > 0.32
> > >> > > > > > >> > > > > > however
> > >> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer
> at
> > >> all"
> > >> > > > > option
> > >> > > > > > >> for
> > >> > > > > > >> > > AMQP
> > >> > > > > > >> > > > > 1.0
> > >> > > > > > >> > > > > > > probably didn't work (this is different to an
> > >> > > > > authentication
> > >> > > > > > >> > layer
> > >> > > > > > >> > > > > which
> > >> > > > > > >> > > > > > > allows anonymous).
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Sorry i was not clear in my previous
> email, i
> > >> was
> > >> > > > taking
> > >> > > > > > >> about
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > > file not broker storage format, the use
> case
> > is
> > >> > if i
> > >> > > > > > wanted
> > >> > > > > > >> to
> > >> > > > > > >> > > > > override
> > >> > > > > > >> > > > > > > > some of these properties and i have my own
> > >> custom
> > >> > > > > > >> tool/script
> > >> > > > > > >> > > that
> > >> > > > > > >> > > > > > goes
> > >> > > > > > >> > > > > > > > through the properties files and replace
> with
> > >> the
> > >> > > > > > override i
> > >> > > > > > >> > > > defined,
> > >> > > > > > >> > > > > > so
> > >> > > > > > >> > > > > > > i
> > >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
> > >> config
> > >> > as
> > >> > > > > well.
> > >> > > > > > My
> > >> > > > > > >> > tool
> > >> > > > > > >> > > > > only
> > >> > > > > > >> > > > > > > > support key:value but if we have json array
> > it
> > >> > wont
> > >> > > > > work.
> > >> > > > > > So
> > >> > > > > > >> > if i
> > >> > > > > > >> > > > > want
> > >> > > > > > >> > > > > > to
> > >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> > >> arguments
> > >> > > what
> > >> > > > > are
> > >> > > > > > >> the
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > > that java qpid support as command line?
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > Below if my config, is it possible to pass
> > all
> > >> > these
> > >> > > > as
> > >> > > > > > >> command
> > >> > > > > > >> > > > line
> > >> > > > > > >> > > > > > > > arguments?
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > {
> > >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
> > >> 1f1b258ea3ac",
> > >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
> > >> 268295f580bc",
> > >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > >> > > > > > >> > > > > > > >   "name" : "Broker",
> > >> > > > > > >> > > > > > > >   "plugins" : [ {
> > >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
> > >> 4cfd63266dbf",
> > >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
> > >> 27a58fd2df89",
> > >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> > >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "ports" : [ {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
> > >> 8c452149cdae",
> > >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > >> > > > > > >> > > > > > > >     "port" : "9099",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
> > >> 75802f3b6553",
> > >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > >> > > > > > >> > > > > > > >     "port" : "8999",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
> > >> 3113b46157f9",
> > >> > > > > > >> > > > > > > >     "name" : "AMQP",
> > >> > > > > > >> > > > > > > >     "port" : "5672"
> > >> > > > > > >> > > > > > > >   }, {
> > >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
> > >> f2606b5e4f6e",
> > >> > > > > > >> > > > > > > >     "name" : "HTTP",
> > >> > > > > > >> > > > > > > >     "port" : "10001",
> > >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > >> > > > > > >> > > > > > > >   } ],
> > >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> > >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> > >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
> > >> fe2b34e54503",
> > >> > > > > > >> > > > > > > >     "name" : "default",
> > >> > > > > > >> > > > > > > >     "storePath" :
> "/ebs//derbystore/default",
> > >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> > >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> > >> > > > > > >> > > > > > > >   } ]
> > >> > > > > > >> > > > > > > > }
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
> > >> with a
> > >> > > > > > reference
> > >> > > > > > >> to
> > >> > > > > > >> > a
> > >> > > > > > >> > > > > > > property, for example
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > "name" : "${myPortName}",
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > this will then interpolate the value from the
> > >> > > property,
> > >> > > > so
> > >> > > > > > if
> > >> > > > > > >> you
> > >> > > > > > >> > > set
> > >> > > > > > >> > > > > the
> > >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will
> be
> > >> the
> > >> > > value
> > >> > > > > > used.
> > >> > > > > > >> > > Type
> > >> > > > > > >> > > > > > > conversions will be performed, so if the
> > required
> > >> > > value
> > >> > > > is
> > >> > > > > > an
> > >> > > > > > >> > > integer
> > >> > > > > > >> > > > > it
> > >> > > > > > >> > > > > > > will convert to an integer.  If the value
> > >> required
> > >> > is
> > >> > > a
> > >> > > > > list
> > >> > > > > > >> then
> > >> > > > > > >> > > you
> > >> > > > > > >> > > > > can
> > >> > > > > > >> > > > > > > use a String representation of a list in Json
> > >> > format.
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > You can set the properties individually, or
> you
> > >> can
> > >> > > pass
> > >> > > > > in
> > >> > > > > > a
> > >> > > > > > >> > > > > properties
> > >> > > > > > >> > > > > > > file using -props or --system-properties-file
> > >> (so if
> > >> > > you
> > >> > > > > > have
> > >> > > > > > >> a
> > >> > > > > > >> > > > > > properties
> > >> > > > > > >> > > > > > > file already maybe you can just pass this
> in).
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > One more question or may be clarification
> is,
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
> > file
> > >> > that
> > >> > > > will
> > >> > > > > > >> > > generated
> > >> > > > > > >> > > > by
> > >> > > > > > >> > > > > > > qpidd
> > >> > > > > > >> > > > > > > > from the initial config right? what is the
> > use
> > >> of
> > >> > > > > > >> store-path?*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > That is correct.  Some people just like to
> have
> > >> > config
> > >> > > > > files
> > >> > > > > > >> in a
> > >> > > > > > >> > > > > > > non-default location :-)
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > Hope this helps,
> > >> > > > > > >> > > > > > > Rob
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > > > > *Thanks,*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > *Ram*
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob
> Godfrey <
> > >> > > > > > >> > > > rob.j.godfrey@gmail.com
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > > > > > wrote:
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> > >> > recommend
> > >> > > > > > >> updating
> > >> > > > > > >> > to
> > >> > > > > > >> > > > > v6.0.1
> > >> > > > > > >> > > > > > > if
> > >> > > > > > >> > > > > > > > > you can.
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> > >> > question -
> > >> > > > are
> > >> > > > > > you
> > >> > > > > > >> > > asking
> > >> > > > > > >> > > > > > about
> > >> > > > > > >> > > > > > > > > overriding particular properties, or the
> > >> storage
> > >> > > > > format
> > >> > > > > > >> for
> > >> > > > > > >> > the
> > >> > > > > > >> > > > > > broker
> > >> > > > > > >> > > > > > > > > configuration - these are two different
> > >> things.
> > >> > > In
> > >> > > > > > terms
> > >> > > > > > >> of
> > >> > > > > > >> > > > > > > properties /
> > >> > > > > > >> > > > > > > > > context overrides this can be specified
> > >> using a
> > >> > > > > > properties
> > >> > > > > > >> > file
> > >> > > > > > >> > > > (at
> > >> > > > > > >> > > > > > > least
> > >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
> > >> 0.28).
> > >> > > In
> > >> > > > > > >> terms of
> > >> > > > > > >> > > the
> > >> > > > > > >> > > > > > > > > configuration, JSON is currently the only
> > >> text
> > >> > > based
> > >> > > > > > >> format
> > >> > > > > > >> > > > > > supported.
> > >> > > > > > >> > > > > > > > You
> > >> > > > > > >> > > > > > > > > can use a database for the broker config
> > >> > storage,
> > >> > > > > there
> > >> > > > > > >> are
> > >> > > > > > >> > > built
> > >> > > > > > >> > > > > in
> > >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> > generic
> > >> > JDBC
> > >> > > > > > config
> > >> > > > > > >> > > stores.
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > May I ask what advantage you would get by
> > >> using
> > >> > > YAML
> > >> > > > > or
> > >> > > > > > >> > > > properties
> > >> > > > > > >> > > > > > > files
> > >> > > > > > >> > > > > > > > > instead of JSON?
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > -- Rob
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> > >> ganapavarapu
> > >> > <
> > >> > > > > > >> > > > > > > rammohanganap@gmail.com
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > wrote:
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Hi,
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Is there any way to start
> qpid-java-0.28
> > >> > broker
> > >> > > > > using
> > >> > > > > > >> > > > .properties
> > >> > > > > > >> > > > > > > file
> > >> > > > > > >> > > > > > > > or
> > >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json
> file?
> > >> or
> > >> > > what
> > >> > > > > are
> > >> > > > > > >> the
> > >> > > > > > >> > > other
> > >> > > > > > >> > > > > > ways
> > >> > > > > > >> > > > > > > to
> > >> > > > > > >> > > > > > > > > > pass override properties instead of
> JSON
> > >> > config
> > >> > > > > file?
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > > > Thanks,
> > >> > > > > > >> > > > > > > > > > Ram
> > >> > > > > > >> > > > > > > > > >
> > >> > > > > > >> > > > > > > > >
> > >> > > > > > >> > > > > > > >
> > >> > > > > > >> > > > > > >
> > >> > > > > > >> > > > > >
> > >> > > > > > >> > > > >
> > >> > > > > > >> > > >
> > >> > > > > > >> > >
> > >> > > > > > >> >
> > >> > > > > > >>
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

I assume that you have configured port 5672 to use the Plain auth provider
(each port can only be associated with a single auth provider - you can add
other ports which use the a different auth provider).  The issue here is
that by default the Java Broker will not allow PLAIN SASL over a non-TLS
connection.  You can override this by changing the "secureOnlyMechanisms"
attribute of the (password) auth provider.  Setting this value to the empty
list within the password auth provider section

            "secureOnlyMechanisms" : [ ],

in your json config file, will mean than PLAIN will be offered as a
mechanism.

Alternatively you can change your port configuration to use you anonymous
authentication provider, rather than the password provider.

Hope this helps,
Rob


On 26 August 2016 at 19:27, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> I have followed as you said and created a clean slate v6 broker and from UI
> created two auth provides palin and anonimous but when i make this api call
> i am getting different sasl list
>
>  curl -s http://localhost:10001/service/sasl
> {
>   "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]
>
> and as you told you before my client is throwing this error, so client has
> a logic to try Plain with user  guest first if it doesn't work then try
> anonymous. Since broker doesn't have any of those in its sasl list may be
> its not able to connect?
>
>
> url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> connecttimeout='5000'&sasl_mechs='PLAIN''
> Not Connected. error Client and broker have no SASL mechanisms in common.
> Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has : [EXTERNAL,
> GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
> username=guest
>
>
> and
>
> url=amqp://guest:********@/?brokerlist='tcp://host:5672?
> connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> Not Connected. error Client and broker have no SASL mechanisms in common.
> Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has : [EXTERNAL,
> GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
> AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : ANONYMOUS
> username=null
>
> Thanks,
> Ram
>
> On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
> > Hi Rob,
> >
> > I did not get chance to try v6, i will try and let you know.
> >
> > Ram
> >
> > On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> >> Hi Ram,
> >>
> >> have you got v6 working now?  The memory settings for the broker depend
> >> upon which version you are using.  For version 6 there is a
> comprehensive
> >> discussion on memory allocation settings in the manual:
> >> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
> >> broker/book/Java-Broker-Runtime-Memory.html
> >>
> >> Versions prior to v6 use memory (and threads) very differently.
> >>
> >> Hope this helps,
> >> Rob
> >>
> >> On 18 April 2016 at 22:09, rammohan ganapavarapu <
> rammohanganap@gmail.com
> >> >
> >> wrote:
> >>
> >> > Rob,
> >> >
> >> > One more question in the same context, what are the recommended JVM
> >> > settings for java broker? i am using default "-Xmx1024m" its working
> >> fine
> >> > but i wanted to follow the best practices. Please advice.
> >> >
> >> >
> >> > Thanks,
> >> > Ram
> >> >
> >> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> >> > wrote:
> >> >
> >> > > Hi Ram,
> >> > >
> >> > > Apologies, I've been having a few issues with my internet provider.
> >> > >
> >> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> >> > > configuring (through the UI) that to use ANONYMOUS, and then check
> >> your
> >> > > client can connect.
> >> > >
> >> > > This is what I did, and it works fine for me.
> >> > >
> >> > > For the rest of your requirements (like setting the log file
> location,
> >> > > etc.) you really want to be using version 6 or later.
> >> > >
> >> > > Cheers,
> >> > > Rob
> >> > >
> >> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> >> > rammohanganap@gmail.com>
> >> > > wrote:
> >> > >
> >> > > > Rob,
> >> > > >
> >> > > > I have tried with virtualhost config that you have provided but i
> am
> >> > > still
> >> > > > getting connection error. I would like to make it work with 6.0*
> >> > version
> >> > > > but at this point i need 0.28 version to make working, so if you
> can
> >> > help
> >> > > > me to configure log location in 0.28 that would unblock me for
> now.
> >> > > >
> >> > > > Thanks,
> >> > > > Ram
> >> > > >
> >> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> :
> >> 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to
> :
> >> > PLAIN
> >> > > > username=guest
> >> > > >
> >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> null
> >> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> >> > > c.a.a.q.QueueBuilder -
> >> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> >> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> >> > > >
> >> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> >> > > c.a.a.q.QueueBuilder -
> >> > > > QueueBuilder$1.execute() : Creating exchange/queue
> >> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> >> > > >
> >> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> :
> >> 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > Not Connected. error Unknown virtualhost '' username=null
> >> > > >
> >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.openConnection() : Error connecting to Connection
> :
> >> 0
> >> > > Host =
> >> > > > localhost
> >> > > >
> >> > > >
> >> > >
> >> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
> >> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> >> > > > Not Connected. error Client and broker have no SASL mechanisms in
> >> > common.
> >> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to
> :
> >> > PLAIN
> >> > > > username=guest
> >> > > >
> >> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> >> > > S.QUEUECLIENTSERVICE -
> >> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue
> null
> >> > > >
> >> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> >> rob.j.godfrey@gmail.com>
> >> > > > wrote:
> >> > > >
> >> > > > > Hi Ram,
> >> > > > >
> >> > > > > in 6.0.x the log file location can be changed directly through
> the
> >> > > config
> >> > > > > json - I really think we should first concentrate on getting
> that
> >> > > working
> >> > > > > for you.
> >> > > > >
> >> > > > > I've verified that using the 6.0.x client and broker with a URL
> >> > similar
> >> > > > to
> >> > > > > the one in your log file works for ANONYMOUS.
> >> > > > >
> >> > > > > Looking at your error output again I notice that there seem
> >> actually
> >> > to
> >> > > > be
> >> > > > > two connection attempts, the first ends with:
> >> > > > >
> >> > > > > error Unknown virtualhost '' username=null
> >> > > > >
> >> > > > > Then we see the second failure with the "PLAIN" error.  That
> first
> >> > > error
> >> > > > > indicate that ANONYMOUS log in was actually successful, however
> >> you
> >> > > were
> >> > > > > the running into the fact that no virtualhost is mapped to the
> >> empty
> >> > > > > string.  That suggests to me that you don't have any
> >> > virtualhostaliases
> >> > > > > defined in your (AMQP) port config. I'd suggest that it would
> make
> >> > > sense
> >> > > > to
> >> > > > > craft an initial config based on the default initial config for
> >> 6.0.x
> >> > > > which
> >> > > > > will include a virtualhostaliases section in the AMQP port which
> >> > looks
> >> > > > > like:
> >> > > > >
> >> > > > > "virtualhostaliases" : [ {
> >> > > > >    "name" : "nameAlias",
> >> > > > >    "type" : "nameAlias"
> >> > > > > }, {
> >> > > > >     "name" : "defaultAlias",
> >> > > > >     "type" : "defaultAlias"
> >> > > > > }, {
> >> > > > >     "name" : "hostnameAlias",
> >> > > > >     "type" : "hostnameAlias"
> >> > > > > } ]
> >> > > > >
> >> > > > >
> >> > > > > Let me know if this works for you, then we can look at some of
> >> your
> >> > > other
> >> > > > > questions.
> >> > > > >
> >> > > > > -- Rob
> >> > > > >
> >> > > > >
> >> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> >> > > rammohanganap@gmail.com
> >> > > > >
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Rob,
> >> > > > > >
> >> > > > > > Also how do i pass logfile location as -prop as commandline
> >> > argument?
> >> > > > or
> >> > > > > > how do i change default log file location i know we can update
> >> > > > log4j.xml
> >> > > > > > but is there any other way?
> >> > > > > >
> >> > > > > > Ram
> >> > > > > >
> >> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> >> > > > > > rammohanganap@gmail.com> wrote:
> >> > > > > >
> >> > > > > > > Rob,
> >> > > > > > >
> >> > > > > > > I tried passing properties file as argument but it didnt
> like
> >> it.
> >> > > > Does
> >> > > > > it
> >> > > > > > > support in 0.28v?
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> >> > > > > > ../etc/qpidd.properties
> >> > > > > > >
> >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > -DQPID_LOG_APPEND=
> >> > > > > > > Using QPID_CLASSPATH
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> -Xmx1024m
> >> > > > > > > Exception during startup: java.lang.
> IllegalArgumentException:
> >> > > > > > > Configuration property argument is not of the format
> >> name=value:
> >> > > > > > > ../etc/qpidd.properties
> >> > > > > > > java.lang.IllegalArgumentException: Configuration property
> >> > argument
> >> > > > is
> >> > > > > > not
> >> > > > > > > of the format name=value: ../etc/qpidd.properties
> >> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> >> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> >> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> >> > > > > > > ../etc/qpidd.properties
> >> > > > > > >
> >> > > > > > > System Properties set to -Damqj.logging.level=info
> >> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> >> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> >> > -DQPID_LOG_APPEND=
> >> > > > > > > Using QPID_CLASSPATH
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
> >> plugins/*:/opt/qpid-java-broker/lib/opt/*
> >> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> >> > > > > -XX:+UseConcMarkSweepGC
> >> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> >> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM
> -Xmx1024m
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > *Error: Unrecognized option: -props*
> >> > > > > > > How do i change this block from initial configuration to use
> >> > > > Anonymous?
> >> > > > > > >
> >> > > > > > > {
> >> > > > > > >   "name": "Broker",
> >> > > > > > >   "storeVersion": 1,
> >> > > > > > >   "modelVersion": "1.2",
> >> > > > > > >   "defaultVirtualHost" : "default",
> >> > > > > > >   "authenticationproviders" : [ {
> >> > > > > > >     "name" : "passwordFile",
> >> > > > > > >     "type" : "PlainPasswordFile",
> >> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> >> > > > > > >     "preferencesproviders" : [{
> >> > > > > > >         "name": "fileSystemPreferences",
> >> > > > > > >         "type": "FileSystemPreferences",
> >> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> >> > > > > > >     }]
> >> > > > > > >   } ],
> >> > > > > > >
> >> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> >> > > > rob.j.godfrey@gmail.com>
> >> > > > > > > wrote:
> >> > > > > > >
> >> > > > > > >> Hi Ram,
> >> > > > > > >>
> >> > > > > > >> so one approach to this would be to define you
> authentication
> >> > > > > providers
> >> > > > > > up
> >> > > > > > >> from in your config file, so you have an an Anonymous
> >> provider
> >> > > named
> >> > > > > > >> "anonymous" and a password file provider named
> >> "passwordFile" or
> >> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX,
> etc)
> >> you
> >> > > can
> >> > > > > > >> parameterise the value they have for the name of the auth
> >> > provider
> >> > > > > they
> >> > > > > > >> are
> >> > > > > > >> using.  So your initial JSON config file could contain
> >> something
> >> > > > like:
> >> > > > > > >>
> >> > > > > > >> "ports" : [  {
> >> > > > > > >>   "name" : "AMQP",
> >> > > > > > >>   "port" : "${qpid.amqp_port}",
> >> > > > > > >>   "authenticationProvider" :
> >> > > > > "${qpid.amqp_port_authenticationProvider}",
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> and then you could override which provider to use at
> runtime
> >> by
> >> > > > > setting
> >> > > > > > >> the
> >> > > > > > >> property qpid.amqp_port_authenticationProvider to
> anonymous
> >> or
> >> > > > > > >> passwordFile
> >> > > > > > >> (or the name of any other authentication provider that is
> >> > defined
> >> > > in
> >> > > > > > your
> >> > > > > > >> JSON config.
> >> > > > > > >>
> >> > > > > > >> The only thing you can't do with properties is to add new
> >> > entities
> >> > > > > into
> >> > > > > > >> the
> >> > > > > > >> config - that you have to do either by editing the file, or
> >> by
> >> > > using
> >> > > > > the
> >> > > > > > >> REST api to modify the broker configuration while it is
> >> running.
> >> > > > > > >>
> >> > > > > > >> Hope this helps,
> >> > > > > > >> Rob
> >> > > > > > >>
> >> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> >> > > > > > rammohanganap@gmail.com>
> >> > > > > > >> wrote:
> >> > > > > > >>
> >> > > > > > >> > Rob,
> >> > > > > > >> >
> >> > > > > > >> > Thanks for detailed explanation, i wanted to restart with
> >> the
> >> > > > > changed
> >> > > > > > >> > properties if any for example today i have Anonymous SASL
> >> and
> >> > > > later
> >> > > > > i
> >> > > > > > >> may
> >> > > > > > >> > want to use password file. How do i pass SASL mechanism
> as
> >> > > -prop?
> >> > > > > > >> >
> >> > > > > > >> > Thanks,
> >> > > > > > >> > Ram
> >> > > > > > >> >
> >> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> >> > > > > rob.j.godfrey@gmail.com>
> >> > > > > > >> > wrote:
> >> > > > > > >> >
> >> > > > > > >> > > Hi Ram,
> >> > > > > > >> > >
> >> > > > > > >> > > The initial config file is only used when there is no
> >> broker
> >> > > > > config
> >> > > > > > -
> >> > > > > > >> the
> >> > > > > > >> > > idea is that it is used to populate the broker config
> on
> >> > first
> >> > > > > > >> startup.
> >> > > > > > >> > > Once there is a broker config file then this is used
> >> (since
> >> > it
> >> > > > may
> >> > > > > > >> have
> >> > > > > > >> > > been updated by creating or modifying entities through
> >> the
> >> > > > > > management
> >> > > > > > >> > > functions).  The broker ships with a default initial
> >> config
> >> > > > which
> >> > > > > is
> >> > > > > > >> > > contained within its jar files, however we allow people
> >> to
> >> > > > provide
> >> > > > > > >> there
> >> > > > > > >> > > own.  Records in the config file a copied verbatim into
> >> the
> >> > > > config
> >> > > > > > >> store
> >> > > > > > >> > -
> >> > > > > > >> > > the only difference being that ids are generated for
> each
> >> > > > entity.
> >> > > > > > The
> >> > > > > > >> > > interpolation from property names to values is done
> each
> >> > time
> >> > > > the
> >> > > > > > >> broker
> >> > > > > > >> > > reads the config.  If the broker finds there is config
> in
> >> > the
> >> > > > > store
> >> > > > > > >> path
> >> > > > > > >> > > then it completely ignores the initial config - it does
> >> not
> >> > > > > examine
> >> > > > > > >> any
> >> > > > > > >> > > differences.
> >> > > > > > >> > >
> >> > > > > > >> > > Are you looking to start a completely fresh broker each
> >> > time,
> >> > > or
> >> > > > > > >> merely
> >> > > > > > >> > to
> >> > > > > > >> > > be able to change certain properties (such as port
> >> numbers)
> >> > on
> >> > > > > each
> >> > > > > > >> > > restart?  If you do not want to retain any changes to
> the
> >> > > broker
> >> > > > > > >> > > configuration made while the broker is actually
> running,
> >> > then
> >> > > > you
> >> > > > > > >> could
> >> > > > > > >> > use
> >> > > > > > >> > > a "memory" config store rather than a Json one.  If you
> >> want
> >> > > to
> >> > > > > > retain
> >> > > > > > >> > any
> >> > > > > > >> > > changes made through management, but desire the ability
> >> to
> >> > > > change
> >> > > > > > >> certain
> >> > > > > > >> > > properties (like ports) on each startup, then you don't
> >> need
> >> > > to
> >> > > > > > worry
> >> > > > > > >> > about
> >> > > > > > >> > > the fact that the initial configuration is only loaded
> >> the
> >> > > first
> >> > > > > > time
> >> > > > > > >> -
> >> > > > > > >> > you
> >> > > > > > >> > > just need to pass in the property values you want on
> >> > startup.
> >> > > > > > >> > >
> >> > > > > > >> > > In terms of an example system properties file...  The
> >> > default
> >> > > > > > >> > > initial-config.json defines the amqp port to be
> >> > > > ${qpid.amqp_port}
> >> > > > > > and
> >> > > > > > >> the
> >> > > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
> >> > > > properties
> >> > > > > > >> file
> >> > > > > > >> > > called rob.properties which contains
> >> > > > > > >> > >
> >> > > > > > >> > > qpid.http_port=8888
> >> > > > > > >> > > qpid.amqp_port=5555
> >> > > > > > >> > >
> >> > > > > > >> > > and then run qpid with the argument -props
> rob.properties
> >> > > then I
> >> > > > > > >> get...
> >> > > > > > >> > >
> >> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port
> 5555
> >> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> >> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP
> >> port
> >> > > 8888
> >> > > > > > >> > >
> >> > > > > > >> > >
> >> > > > > > >> > > So, when you use your initial or stored config you just
> >> need
> >> > > to
> >> > > > > > ensure
> >> > > > > > >> > all
> >> > > > > > >> > > the variables you use in your config are set in your
> >> > > properties
> >> > > > > file
> >> > > > > > >> > (some
> >> > > > > > >> > > properties have defaults within the code if they are
> not
> >> > > > otherwise
> >> > > > > > >> set -
> >> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not
> set
> >> > > > > > elsewhere).
> >> > > > > > >> > >
> >> > > > > > >> > > Hope this helps,
> >> > > > > > >> > > Rob
> >> > > > > > >> > >
> >> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> >> > > > > > >> rammohanganap@gmail.com
> >> > > > > > >> > >
> >> > > > > > >> > > wrote:
> >> > > > > > >> > >
> >> > > > > > >> > > > Rob,
> >> > > > > > >> > > >
> >> > > > > > >> > > > Thank you, one more question on -icp and -sp, so what
> >> if i
> >> > > > have
> >> > > > > > >> updated
> >> > > > > > >> > > icp
> >> > > > > > >> > > > with some property change  and restarted broker with
> >> icp
> >> > > > (every
> >> > > > > > >> time i
> >> > > > > > >> > > > restart broker i am using initial config
> >> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> >> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
> >> its is
> >> > > > right
> >> > > > > > way
> >> > > > > > >> or
> >> > > > > > >> > > > not), does it automatically update config file in
> -sp?
> >> i
> >> > my
> >> > > > case
> >> > > > > > it
> >> > > > > > >> did
> >> > > > > > >> > > not
> >> > > > > > >> > > > updated the config file in store-path upon restart.
> >> What
> >> > > will
> >> > > > > > >> happened
> >> > > > > > >> > > if i
> >> > > > > > >> > > > have differences in initial config file that i use to
> >> > start
> >> > > > > broker
> >> > > > > > >> and
> >> > > > > > >> > > the
> >> > > > > > >> > > > config file under store-path?
> >> > > > > > >> > > >
> >> > > > > > >> > > > Thanks,
> >> > > > > > >> > > > Ram
> >> > > > > > >> > > >
> >> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> >> > > > > > >> rob.j.godfrey@gmail.com>
> >> > > > > > >> > > > wrote:
> >> > > > > > >> > > >
> >> > > > > > >> > > > > This looks like a client error to me... the line
> >> which
> >> > > says:
> >> > > > > > >> > > > >
> >> > > > > > >> > > > >  Client restricted itself to : PLAIN
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > Out of interest what happens if you remove the
> >> > > > > > >> > &sasl_mechs='ANONYMOUS'
> >> > > > > > >> > > > from
> >> > > > > > >> > > > > your connection URL?  Without any sort of
> restriction
> >> > I'd
> >> > > > > expect
> >> > > > > > >> the
> >> > > > > > >> > > > client
> >> > > > > > >> > > > > to do the right thing.
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll
> >> have
> >> > > > deeper
> >> > > > > > >> look
> >> > > > > > >> > in
> >> > > > > > >> > > > the
> >> > > > > > >> > > > > morning.
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > -- Rob
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> >> > > > > > >> > > rammohanganap@gmail.com
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > wrote:
> >> > > > > > >> > > > >
> >> > > > > > >> > > > > > Rob,
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > thanks for the explanation, do you have a sample
> >> > > > > > >> > > > > --system-properties-file?
> >> > > > > > >> > > > > > that i can take a look?
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> >> throwing
> >> > > this
> >> > > > > > >> error, i
> >> > > > > > >> > > am
> >> > > > > > >> > > > > not
> >> > > > > > >> > > > > > a developer, i am ops guy and i dont want to
> change
> >> > the
> >> > > > > > existing
> >> > > > > > >> > code
> >> > > > > > >> > > > but
> >> > > > > > >> > > > > > wanted to make java qpid work. This is the error
> i
> >> am
> >> > > > > getting
> >> > > > > > >> with
> >> > > > > > >> > > > > 6.0.1v..
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> >> > > > > > >> > > > > >
> >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > > > ERROR
> >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > ConnectionImpl.openConnection() :
> >> > > > > Error
> >> > > > > > >> > > > connecting
> >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> > url=amqp://null:********@qphost011460067563391/?
> >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> >> sasl_mechs='ANONYMOUS''
> >> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> >> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> >> > > > > > >> > > > > >
> >> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> >> > > > > > ERROR
> >> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> >> > ConnectionImpl.openConnection() :
> >> > > > > Error
> >> > > > > > >> > > > connecting
> >> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> > url=amqp://null:********@qphost011460067563391/?
> >> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
> >> sasl_mechs='ANONYMOUS''
> >> > > > > > >> > > > > > error Client and broker have no SASL mechanisms
> in
> >> > > common.
> >> > > > > > >> Broker
> >> > > > > > >> > > > allows
> >> > > > > > >> > > > > :
> >> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> >> > > CRAM-MD5-HASHED,
> >> > > > > > >> > CRAM-MD5,
> >> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
> >> itself
> >> > to
> >> > > :
> >> > > > > > PLAIN
> >> > > > > > >> > > > > > username=guest
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > And here is my sasl mechanism.
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> >> > > > > > >> > > > > > {
> >> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> >> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
> >> 6.0.1
> >> > is
> >> > > > not
> >> > > > > > >> > working.
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > Thanks,
> >> > > > > > >> > > > > > Ram
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> >> > > > > > >> > rob.j.godfrey@gmail.com
> >> > > > > > >> > > >
> >> > > > > > >> > > > > > wrote:
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan
> ganapavarapu <
> >> > > > > > >> > > > > rammohanganap@gmail.com
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > wrote:
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > Rob,
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> >> > authentication?
> >> > > > last
> >> > > > > > >> time
> >> > > > > > >> > > when
> >> > > > > > >> > > > i
> >> > > > > > >> > > > > > try
> >> > > > > > >> > > > > > > to
> >> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP
> protocol
> >> > are
> >> > > > you
> >> > > > > > >> using
> >> > > > > > >> > > > (0-9-1,
> >> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
> >> > should
> >> > > > work
> >> > > > > > on
> >> > > > > > >> > 0.32
> >> > > > > > >> > > > > > however
> >> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer at
> >> all"
> >> > > > > option
> >> > > > > > >> for
> >> > > > > > >> > > AMQP
> >> > > > > > >> > > > > 1.0
> >> > > > > > >> > > > > > > probably didn't work (this is different to an
> >> > > > > authentication
> >> > > > > > >> > layer
> >> > > > > > >> > > > > which
> >> > > > > > >> > > > > > > allows anonymous).
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Sorry i was not clear in my previous email, i
> >> was
> >> > > > taking
> >> > > > > > >> about
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > > file not broker storage format, the use case
> is
> >> > if i
> >> > > > > > wanted
> >> > > > > > >> to
> >> > > > > > >> > > > > override
> >> > > > > > >> > > > > > > > some of these properties and i have my own
> >> custom
> >> > > > > > >> tool/script
> >> > > > > > >> > > that
> >> > > > > > >> > > > > > goes
> >> > > > > > >> > > > > > > > through the properties files and replace with
> >> the
> >> > > > > > override i
> >> > > > > > >> > > > defined,
> >> > > > > > >> > > > > > so
> >> > > > > > >> > > > > > > i
> >> > > > > > >> > > > > > > > want to use the same tool/script for qpid
> >> config
> >> > as
> >> > > > > well.
> >> > > > > > My
> >> > > > > > >> > tool
> >> > > > > > >> > > > > only
> >> > > > > > >> > > > > > > > support key:value but if we have json array
> it
> >> > wont
> >> > > > > work.
> >> > > > > > So
> >> > > > > > >> > if i
> >> > > > > > >> > > > > want
> >> > > > > > >> > > > > > to
> >> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> >> arguments
> >> > > what
> >> > > > > are
> >> > > > > > >> the
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > > that java qpid support as command line?
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > Below if my config, is it possible to pass
> all
> >> > these
> >> > > > as
> >> > > > > > >> command
> >> > > > > > >> > > > line
> >> > > > > > >> > > > > > > > arguments?
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > {
> >> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> >> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
> >> 1f1b258ea3ac",
> >> > > > > > >> > > > > > > >     "name" : "Anonymous",
> >> > > > > > >> > > > > > > >     "type" : "Anonymous"
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> >> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
> >> 268295f580bc",
> >> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> >> > > > > > >> > > > > > > >   "name" : "Broker",
> >> > > > > > >> > > > > > > >   "plugins" : [ {
> >> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
> >> 4cfd63266dbf",
> >> > > > > > >> > > > > > > >     "name" : "httpManagement",
> >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
> >> 27a58fd2df89",
> >> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> >> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "ports" : [ {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
> >> 8c452149cdae",
> >> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> >> > > > > > >> > > > > > > >     "port" : "9099",
> >> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
> >> 75802f3b6553",
> >> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> >> > > > > > >> > > > > > > >     "port" : "8999",
> >> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
> >> 3113b46157f9",
> >> > > > > > >> > > > > > > >     "name" : "AMQP",
> >> > > > > > >> > > > > > > >     "port" : "5672"
> >> > > > > > >> > > > > > > >   }, {
> >> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
> >> f2606b5e4f6e",
> >> > > > > > >> > > > > > > >     "name" : "HTTP",
> >> > > > > > >> > > > > > > >     "port" : "10001",
> >> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> >> > > > > > >> > > > > > > >   } ],
> >> > > > > > >> > > > > > > >   "storeVersion" : 1,
> >> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> >> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> >> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
> >> fe2b34e54503",
> >> > > > > > >> > > > > > > >     "name" : "default",
> >> > > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> >> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> >> > > > > > >> > > > > > > >     "type" : "STANDARD"
> >> > > > > > >> > > > > > > >   } ]
> >> > > > > > >> > > > > > > > }
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
> >> with a
> >> > > > > > reference
> >> > > > > > >> to
> >> > > > > > >> > a
> >> > > > > > >> > > > > > > property, for example
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > "name" : "${myPortName}",
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > this will then interpolate the value from the
> >> > > property,
> >> > > > so
> >> > > > > > if
> >> > > > > > >> you
> >> > > > > > >> > > set
> >> > > > > > >> > > > > the
> >> > > > > > >> > > > > > > property myPortName to "RobsPort" that will be
> >> the
> >> > > value
> >> > > > > > used.
> >> > > > > > >> > > Type
> >> > > > > > >> > > > > > > conversions will be performed, so if the
> required
> >> > > value
> >> > > > is
> >> > > > > > an
> >> > > > > > >> > > integer
> >> > > > > > >> > > > > it
> >> > > > > > >> > > > > > > will convert to an integer.  If the value
> >> required
> >> > is
> >> > > a
> >> > > > > list
> >> > > > > > >> then
> >> > > > > > >> > > you
> >> > > > > > >> > > > > can
> >> > > > > > >> > > > > > > use a String representation of a list in Json
> >> > format.
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > You can set the properties individually, or you
> >> can
> >> > > pass
> >> > > > > in
> >> > > > > > a
> >> > > > > > >> > > > > properties
> >> > > > > > >> > > > > > > file using -props or --system-properties-file
> >> (so if
> >> > > you
> >> > > > > > have
> >> > > > > > >> a
> >> > > > > > >> > > > > > properties
> >> > > > > > >> > > > > > > file already maybe you can just pass this in).
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > One more question or may be clarification is,
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config
> file
> >> > that
> >> > > > will
> >> > > > > > >> > > generated
> >> > > > > > >> > > > by
> >> > > > > > >> > > > > > > qpidd
> >> > > > > > >> > > > > > > > from the initial config right? what is the
> use
> >> of
> >> > > > > > >> store-path?*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > That is correct.  Some people just like to have
> >> > config
> >> > > > > files
> >> > > > > > >> in a
> >> > > > > > >> > > > > > > non-default location :-)
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > Hope this helps,
> >> > > > > > >> > > > > > > Rob
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > > > > *Thanks,*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > *Ram*
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> >> > > > > > >> > > > rob.j.godfrey@gmail.com
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > > > > > wrote:
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> >> > recommend
> >> > > > > > >> updating
> >> > > > > > >> > to
> >> > > > > > >> > > > > v6.0.1
> >> > > > > > >> > > > > > > if
> >> > > > > > >> > > > > > > > > you can.
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> >> > question -
> >> > > > are
> >> > > > > > you
> >> > > > > > >> > > asking
> >> > > > > > >> > > > > > about
> >> > > > > > >> > > > > > > > > overriding particular properties, or the
> >> storage
> >> > > > > format
> >> > > > > > >> for
> >> > > > > > >> > the
> >> > > > > > >> > > > > > broker
> >> > > > > > >> > > > > > > > > configuration - these are two different
> >> things.
> >> > > In
> >> > > > > > terms
> >> > > > > > >> of
> >> > > > > > >> > > > > > > properties /
> >> > > > > > >> > > > > > > > > context overrides this can be specified
> >> using a
> >> > > > > > properties
> >> > > > > > >> > file
> >> > > > > > >> > > > (at
> >> > > > > > >> > > > > > > least
> >> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
> >> 0.28).
> >> > > In
> >> > > > > > >> terms of
> >> > > > > > >> > > the
> >> > > > > > >> > > > > > > > > configuration, JSON is currently the only
> >> text
> >> > > based
> >> > > > > > >> format
> >> > > > > > >> > > > > > supported.
> >> > > > > > >> > > > > > > > You
> >> > > > > > >> > > > > > > > > can use a database for the broker config
> >> > storage,
> >> > > > > there
> >> > > > > > >> are
> >> > > > > > >> > > built
> >> > > > > > >> > > > > in
> >> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and
> generic
> >> > JDBC
> >> > > > > > config
> >> > > > > > >> > > stores.
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > May I ask what advantage you would get by
> >> using
> >> > > YAML
> >> > > > > or
> >> > > > > > >> > > > properties
> >> > > > > > >> > > > > > > files
> >> > > > > > >> > > > > > > > > instead of JSON?
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > -- Rob
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> >> ganapavarapu
> >> > <
> >> > > > > > >> > > > > > > rammohanganap@gmail.com
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > wrote:
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > > > > Hi,
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
> >> > broker
> >> > > > > using
> >> > > > > > >> > > > .properties
> >> > > > > > >> > > > > > > file
> >> > > > > > >> > > > > > > > or
> >> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file?
> >> or
> >> > > what
> >> > > > > are
> >> > > > > > >> the
> >> > > > > > >> > > other
> >> > > > > > >> > > > > > ways
> >> > > > > > >> > > > > > > to
> >> > > > > > >> > > > > > > > > > pass override properties instead of JSON
> >> > config
> >> > > > > file?
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > > > Thanks,
> >> > > > > > >> > > > > > > > > > Ram
> >> > > > > > >> > > > > > > > > >
> >> > > > > > >> > > > > > > > >
> >> > > > > > >> > > > > > > >
> >> > > > > > >> > > > > > >
> >> > > > > > >> > > > > >
> >> > > > > > >> > > > >
> >> > > > > > >> > > >
> >> > > > > > >> > >
> >> > > > > > >> >
> >> > > > > > >>
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I have followed as you said and created a clean slate v6 broker and from UI
created two auth provides palin and anonimous but when i make this api call
i am getting different sasl list

 curl -s http://localhost:10001/service/sasl
{
  "mechanisms" : [ "CRAM-MD5", "SCRAM-SHA-1", "SCRAM-SHA-256" ]

and as you told you before my client is throwing this error, so client has
a logic to try Plain with user  guest first if it doesn't work then try
anonymous. Since broker doesn't have any of those in its sasl list may be
its not able to connect?


url=amqp://guest:********@/?brokerlist='tcp://host:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
Not Connected. error Client and broker have no SASL mechanisms in common.
Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has : [EXTERNAL,
GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : PLAIN
username=guest


and

url=amqp://guest:********@/?brokerlist='tcp://host:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
Not Connected. error Client and broker have no SASL mechanisms in common.
Broker allows : CRAM-MD5 SCRAM-SHA-1 SCRAM-SHA-256 Client has : [EXTERNAL,
GSSAPI, SCRAM-SHA-256, SCRAM-SHA-1, CRAM-MD5-HASHED, CRAM-MD5, PLAIN,
AMQPLAIN, ANONYMOUS, XOAUTH2] Client restricted itself to : ANONYMOUS
username=null

Thanks,
Ram

On Tue, Apr 19, 2016 at 10:10 AM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Hi Rob,
>
> I did not get chance to try v6, i will try and let you know.
>
> Ram
>
> On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> have you got v6 working now?  The memory settings for the broker depend
>> upon which version you are using.  For version 6 there is a comprehensive
>> discussion on memory allocation settings in the manual:
>> https://qpid.apache.org/releases/qpid-java-6.0.1/java-
>> broker/book/Java-Broker-Runtime-Memory.html
>>
>> Versions prior to v6 use memory (and threads) very differently.
>>
>> Hope this helps,
>> Rob
>>
>> On 18 April 2016 at 22:09, rammohan ganapavarapu <rammohanganap@gmail.com
>> >
>> wrote:
>>
>> > Rob,
>> >
>> > One more question in the same context, what are the recommended JVM
>> > settings for java broker? i am using default "-Xmx1024m" its working
>> fine
>> > but i wanted to follow the best practices. Please advice.
>> >
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > Apologies, I've been having a few issues with my internet provider.
>> > >
>> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
>> > > configuring (through the UI) that to use ANONYMOUS, and then check
>> your
>> > > client can connect.
>> > >
>> > > This is what I did, and it works fine for me.
>> > >
>> > > For the rest of your requirements (like setting the log file location,
>> > > etc.) you really want to be using version 6 or later.
>> > >
>> > > Cheers,
>> > > Rob
>> > >
>> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
>> > rammohanganap@gmail.com>
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > I have tried with virtualhost config that you have provided but i am
>> > > still
>> > > > getting connection error. I would like to make it work with 6.0*
>> > version
>> > > > but at this point i need 0.28 version to make working, so if you can
>> > help
>> > > > me to configure log location in 0.28 that would unblock me for now.
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection :
>> 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
>> > PLAIN
>> > > > username=guest
>> > > >
>> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
>> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
>> > > c.a.a.q.QueueBuilder -
>> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
>> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
>> > > >
>> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
>> > > c.a.a.q.QueueBuilder -
>> > > > QueueBuilder$1.execute() : Creating exchange/queue
>> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
>> > > >
>> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection :
>> 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> 5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > Not Connected. error Unknown virtualhost '' username=null
>> > > >
>> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.openConnection() : Error connecting to Connection :
>> 0
>> > > Host =
>> > > > localhost
>> > > >
>> > > >
>> > >
>> > url=amqp://guest:********@/?brokerlist='tcp://localhost:
>> 5672?connecttimeout='5000'&sasl_mechs='PLAIN''
>> > > > Not Connected. error Client and broker have no SASL mechanisms in
>> > common.
>> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
>> > PLAIN
>> > > > username=guest
>> > > >
>> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
>> > > S.QUEUECLIENTSERVICE -
>> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
>> > > >
>> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Hi Ram,
>> > > > >
>> > > > > in 6.0.x the log file location can be changed directly through the
>> > > config
>> > > > > json - I really think we should first concentrate on getting that
>> > > working
>> > > > > for you.
>> > > > >
>> > > > > I've verified that using the 6.0.x client and broker with a URL
>> > similar
>> > > > to
>> > > > > the one in your log file works for ANONYMOUS.
>> > > > >
>> > > > > Looking at your error output again I notice that there seem
>> actually
>> > to
>> > > > be
>> > > > > two connection attempts, the first ends with:
>> > > > >
>> > > > > error Unknown virtualhost '' username=null
>> > > > >
>> > > > > Then we see the second failure with the "PLAIN" error.  That first
>> > > error
>> > > > > indicate that ANONYMOUS log in was actually successful, however
>> you
>> > > were
>> > > > > the running into the fact that no virtualhost is mapped to the
>> empty
>> > > > > string.  That suggests to me that you don't have any
>> > virtualhostaliases
>> > > > > defined in your (AMQP) port config. I'd suggest that it would make
>> > > sense
>> > > > to
>> > > > > craft an initial config based on the default initial config for
>> 6.0.x
>> > > > which
>> > > > > will include a virtualhostaliases section in the AMQP port which
>> > looks
>> > > > > like:
>> > > > >
>> > > > > "virtualhostaliases" : [ {
>> > > > >    "name" : "nameAlias",
>> > > > >    "type" : "nameAlias"
>> > > > > }, {
>> > > > >     "name" : "defaultAlias",
>> > > > >     "type" : "defaultAlias"
>> > > > > }, {
>> > > > >     "name" : "hostnameAlias",
>> > > > >     "type" : "hostnameAlias"
>> > > > > } ]
>> > > > >
>> > > > >
>> > > > > Let me know if this works for you, then we can look at some of
>> your
>> > > other
>> > > > > questions.
>> > > > >
>> > > > > -- Rob
>> > > > >
>> > > > >
>> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
>> > > rammohanganap@gmail.com
>> > > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Rob,
>> > > > > >
>> > > > > > Also how do i pass logfile location as -prop as commandline
>> > argument?
>> > > > or
>> > > > > > how do i change default log file location i know we can update
>> > > > log4j.xml
>> > > > > > but is there any other way?
>> > > > > >
>> > > > > > Ram
>> > > > > >
>> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
>> > > > > > rammohanganap@gmail.com> wrote:
>> > > > > >
>> > > > > > > Rob,
>> > > > > > >
>> > > > > > > I tried passing properties file as argument but it didnt like
>> it.
>> > > > Does
>> > > > > it
>> > > > > > > support in 0.28v?
>> > > > > > >
>> > > > > > >
>> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
>> > > > > > ../etc/qpidd.properties
>> > > > > > >
>> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > -DQPID_LOG_APPEND=
>> > > > > > > Using QPID_CLASSPATH
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
>> plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > > -XX:+UseConcMarkSweepGC
>> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>> > > > > > > Exception during startup: java.lang.IllegalArgumentException:
>> > > > > > > Configuration property argument is not of the format
>> name=value:
>> > > > > > > ../etc/qpidd.properties
>> > > > > > > java.lang.IllegalArgumentException: Configuration property
>> > argument
>> > > > is
>> > > > > > not
>> > > > > > > of the format name=value: ../etc/qpidd.properties
>> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
>> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
>> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
>> > > > > > >
>> > > > > > >
>> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
>> > > > > > > ../etc/qpidd.properties
>> > > > > > >
>> > > > > > > System Properties set to -Damqj.logging.level=info
>> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
>> > -DQPID_LOG_APPEND=
>> > > > > > > Using QPID_CLASSPATH
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/
>> plugins/*:/opt/qpid-java-broker/lib/opt/*
>> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
>> > > > > -XX:+UseConcMarkSweepGC
>> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
>> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > *Error: Unrecognized option: -props*
>> > > > > > > How do i change this block from initial configuration to use
>> > > > Anonymous?
>> > > > > > >
>> > > > > > > {
>> > > > > > >   "name": "Broker",
>> > > > > > >   "storeVersion": 1,
>> > > > > > >   "modelVersion": "1.2",
>> > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > >   "authenticationproviders" : [ {
>> > > > > > >     "name" : "passwordFile",
>> > > > > > >     "type" : "PlainPasswordFile",
>> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
>> > > > > > >     "preferencesproviders" : [{
>> > > > > > >         "name": "fileSystemPreferences",
>> > > > > > >         "type": "FileSystemPreferences",
>> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
>> > > > > > >     }]
>> > > > > > >   } ],
>> > > > > > >
>> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
>> > > > rob.j.godfrey@gmail.com>
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > >> Hi Ram,
>> > > > > > >>
>> > > > > > >> so one approach to this would be to define you authentication
>> > > > > providers
>> > > > > > up
>> > > > > > >> from in your config file, so you have an an Anonymous
>> provider
>> > > named
>> > > > > > >> "anonymous" and a password file provider named
>> "passwordFile" or
>> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc)
>> you
>> > > can
>> > > > > > >> parameterise the value they have for the name of the auth
>> > provider
>> > > > > they
>> > > > > > >> are
>> > > > > > >> using.  So your initial JSON config file could contain
>> something
>> > > > like:
>> > > > > > >>
>> > > > > > >> "ports" : [  {
>> > > > > > >>   "name" : "AMQP",
>> > > > > > >>   "port" : "${qpid.amqp_port}",
>> > > > > > >>   "authenticationProvider" :
>> > > > > "${qpid.amqp_port_authenticationProvider}",
>> > > > > > >>
>> > > > > > >>
>> > > > > > >> and then you could override which provider to use at runtime
>> by
>> > > > > setting
>> > > > > > >> the
>> > > > > > >> property qpid.amqp_port_authenticationProvider to anonymous
>> or
>> > > > > > >> passwordFile
>> > > > > > >> (or the name of any other authentication provider that is
>> > defined
>> > > in
>> > > > > > your
>> > > > > > >> JSON config.
>> > > > > > >>
>> > > > > > >> The only thing you can't do with properties is to add new
>> > entities
>> > > > > into
>> > > > > > >> the
>> > > > > > >> config - that you have to do either by editing the file, or
>> by
>> > > using
>> > > > > the
>> > > > > > >> REST api to modify the broker configuration while it is
>> running.
>> > > > > > >>
>> > > > > > >> Hope this helps,
>> > > > > > >> Rob
>> > > > > > >>
>> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
>> > > > > > rammohanganap@gmail.com>
>> > > > > > >> wrote:
>> > > > > > >>
>> > > > > > >> > Rob,
>> > > > > > >> >
>> > > > > > >> > Thanks for detailed explanation, i wanted to restart with
>> the
>> > > > > changed
>> > > > > > >> > properties if any for example today i have Anonymous SASL
>> and
>> > > > later
>> > > > > i
>> > > > > > >> may
>> > > > > > >> > want to use password file. How do i pass SASL mechanism as
>> > > -prop?
>> > > > > > >> >
>> > > > > > >> > Thanks,
>> > > > > > >> > Ram
>> > > > > > >> >
>> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
>> > > > > rob.j.godfrey@gmail.com>
>> > > > > > >> > wrote:
>> > > > > > >> >
>> > > > > > >> > > Hi Ram,
>> > > > > > >> > >
>> > > > > > >> > > The initial config file is only used when there is no
>> broker
>> > > > > config
>> > > > > > -
>> > > > > > >> the
>> > > > > > >> > > idea is that it is used to populate the broker config on
>> > first
>> > > > > > >> startup.
>> > > > > > >> > > Once there is a broker config file then this is used
>> (since
>> > it
>> > > > may
>> > > > > > >> have
>> > > > > > >> > > been updated by creating or modifying entities through
>> the
>> > > > > > management
>> > > > > > >> > > functions).  The broker ships with a default initial
>> config
>> > > > which
>> > > > > is
>> > > > > > >> > > contained within its jar files, however we allow people
>> to
>> > > > provide
>> > > > > > >> there
>> > > > > > >> > > own.  Records in the config file a copied verbatim into
>> the
>> > > > config
>> > > > > > >> store
>> > > > > > >> > -
>> > > > > > >> > > the only difference being that ids are generated for each
>> > > > entity.
>> > > > > > The
>> > > > > > >> > > interpolation from property names to values is done each
>> > time
>> > > > the
>> > > > > > >> broker
>> > > > > > >> > > reads the config.  If the broker finds there is config in
>> > the
>> > > > > store
>> > > > > > >> path
>> > > > > > >> > > then it completely ignores the initial config - it does
>> not
>> > > > > examine
>> > > > > > >> any
>> > > > > > >> > > differences.
>> > > > > > >> > >
>> > > > > > >> > > Are you looking to start a completely fresh broker each
>> > time,
>> > > or
>> > > > > > >> merely
>> > > > > > >> > to
>> > > > > > >> > > be able to change certain properties (such as port
>> numbers)
>> > on
>> > > > > each
>> > > > > > >> > > restart?  If you do not want to retain any changes to the
>> > > broker
>> > > > > > >> > > configuration made while the broker is actually running,
>> > then
>> > > > you
>> > > > > > >> could
>> > > > > > >> > use
>> > > > > > >> > > a "memory" config store rather than a Json one.  If you
>> want
>> > > to
>> > > > > > retain
>> > > > > > >> > any
>> > > > > > >> > > changes made through management, but desire the ability
>> to
>> > > > change
>> > > > > > >> certain
>> > > > > > >> > > properties (like ports) on each startup, then you don't
>> need
>> > > to
>> > > > > > worry
>> > > > > > >> > about
>> > > > > > >> > > the fact that the initial configuration is only loaded
>> the
>> > > first
>> > > > > > time
>> > > > > > >> -
>> > > > > > >> > you
>> > > > > > >> > > just need to pass in the property values you want on
>> > startup.
>> > > > > > >> > >
>> > > > > > >> > > In terms of an example system properties file...  The
>> > default
>> > > > > > >> > > initial-config.json defines the amqp port to be
>> > > > ${qpid.amqp_port}
>> > > > > > and
>> > > > > > >> the
>> > > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
>> > > > properties
>> > > > > > >> file
>> > > > > > >> > > called rob.properties which contains
>> > > > > > >> > >
>> > > > > > >> > > qpid.http_port=8888
>> > > > > > >> > > qpid.amqp_port=5555
>> > > > > > >> > >
>> > > > > > >> > > and then run qpid with the argument -props rob.properties
>> > > then I
>> > > > > > >> get...
>> > > > > > >> > >
>> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
>> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP
>> port
>> > > 8888
>> > > > > > >> > >
>> > > > > > >> > >
>> > > > > > >> > > So, when you use your initial or stored config you just
>> need
>> > > to
>> > > > > > ensure
>> > > > > > >> > all
>> > > > > > >> > > the variables you use in your config are set in your
>> > > properties
>> > > > > file
>> > > > > > >> > (some
>> > > > > > >> > > properties have defaults within the code if they are not
>> > > > otherwise
>> > > > > > >> set -
>> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
>> > > > > > elsewhere).
>> > > > > > >> > >
>> > > > > > >> > > Hope this helps,
>> > > > > > >> > > Rob
>> > > > > > >> > >
>> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> > > > > > >> rammohanganap@gmail.com
>> > > > > > >> > >
>> > > > > > >> > > wrote:
>> > > > > > >> > >
>> > > > > > >> > > > Rob,
>> > > > > > >> > > >
>> > > > > > >> > > > Thank you, one more question on -icp and -sp, so what
>> if i
>> > > > have
>> > > > > > >> updated
>> > > > > > >> > > icp
>> > > > > > >> > > > with some property change  and restarted broker with
>> icp
>> > > > (every
>> > > > > > >> time i
>> > > > > > >> > > > restart broker i am using initial config
>> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if
>> its is
>> > > > right
>> > > > > > way
>> > > > > > >> or
>> > > > > > >> > > > not), does it automatically update config file in -sp?
>> i
>> > my
>> > > > case
>> > > > > > it
>> > > > > > >> did
>> > > > > > >> > > not
>> > > > > > >> > > > updated the config file in store-path upon restart.
>> What
>> > > will
>> > > > > > >> happened
>> > > > > > >> > > if i
>> > > > > > >> > > > have differences in initial config file that i use to
>> > start
>> > > > > broker
>> > > > > > >> and
>> > > > > > >> > > the
>> > > > > > >> > > > config file under store-path?
>> > > > > > >> > > >
>> > > > > > >> > > > Thanks,
>> > > > > > >> > > > Ram
>> > > > > > >> > > >
>> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> > > > > > >> rob.j.godfrey@gmail.com>
>> > > > > > >> > > > wrote:
>> > > > > > >> > > >
>> > > > > > >> > > > > This looks like a client error to me... the line
>> which
>> > > says:
>> > > > > > >> > > > >
>> > > > > > >> > > > >  Client restricted itself to : PLAIN
>> > > > > > >> > > > >
>> > > > > > >> > > > > Out of interest what happens if you remove the
>> > > > > > >> > &sasl_mechs='ANONYMOUS'
>> > > > > > >> > > > from
>> > > > > > >> > > > > your connection URL?  Without any sort of restriction
>> > I'd
>> > > > > expect
>> > > > > > >> the
>> > > > > > >> > > > client
>> > > > > > >> > > > > to do the right thing.
>> > > > > > >> > > > >
>> > > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll
>> have
>> > > > deeper
>> > > > > > >> look
>> > > > > > >> > in
>> > > > > > >> > > > the
>> > > > > > >> > > > > morning.
>> > > > > > >> > > > >
>> > > > > > >> > > > > -- Rob
>> > > > > > >> > > > >
>> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>> > > > > > >> > > rammohanganap@gmail.com
>> > > > > > >> > > > >
>> > > > > > >> > > > > wrote:
>> > > > > > >> > > > >
>> > > > > > >> > > > > > Rob,
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > thanks for the explanation, do you have a sample
>> > > > > > >> > > > > --system-properties-file?
>> > > > > > >> > > > > > that i can take a look?
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
>> throwing
>> > > this
>> > > > > > >> error, i
>> > > > > > >> > > am
>> > > > > > >> > > > > not
>> > > > > > >> > > > > > a developer, i am ops guy and i dont want to change
>> > the
>> > > > > > existing
>> > > > > > >> > code
>> > > > > > >> > > > but
>> > > > > > >> > > > > > wanted to make java qpid work. This is the error i
>> am
>> > > > > getting
>> > > > > > >> with
>> > > > > > >> > > > > 6.0.1v..
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > 2016-04-07 22:32:36,726
>> > > > > > >> > > > > >
>> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > > > ERROR
>> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > ConnectionImpl.openConnection() :
>> > > > > Error
>> > > > > > >> > > > connecting
>> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > url=amqp://null:********@qphost011460067563391/?
>> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
>> sasl_mechs='ANONYMOUS''
>> > > > > > >> > > > > > error Unknown virtualhost '' username=null
>> > > > > > >> > > > > > 2016-04-07 22:32:36,731
>> > > > > > >> > > > > >
>> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> > > > > > ERROR
>> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
>> > ConnectionImpl.openConnection() :
>> > > > > Error
>> > > > > > >> > > > connecting
>> > > > > > >> > > > > > to Connection : 0 Host = qphost01
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > url=amqp://null:********@qphost011460067563391/?
>> brokerlist='tcp://localhost:5672?connecttimeout='5000'&
>> sasl_mechs='ANONYMOUS''
>> > > > > > >> > > > > > error Client and broker have no SASL mechanisms in
>> > > common.
>> > > > > > >> Broker
>> > > > > > >> > > > allows
>> > > > > > >> > > > > :
>> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
>> > > CRAM-MD5-HASHED,
>> > > > > > >> > CRAM-MD5,
>> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted
>> itself
>> > to
>> > > :
>> > > > > > PLAIN
>> > > > > > >> > > > > > username=guest
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > And here is my sasl mechanism.
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > curl -s 0:10001/service/sasl
>> > > > > > >> > > > > > {
>> > > > > > >> > > > > >   "user" : "ANONYMOUS",
>> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but
>> 6.0.1
>> > is
>> > > > not
>> > > > > > >> > working.
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > Thanks,
>> > > > > > >> > > > > > Ram
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > > > > > >> > rob.j.godfrey@gmail.com
>> > > > > > >> > > >
>> > > > > > >> > > > > > wrote:
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>> > > > > > >> > > > > rammohanganap@gmail.com
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > wrote:
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > Rob,
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
>> > authentication?
>> > > > last
>> > > > > > >> time
>> > > > > > >> > > when
>> > > > > > >> > > > i
>> > > > > > >> > > > > > try
>> > > > > > >> > > > > > > to
>> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol
>> > are
>> > > > you
>> > > > > > >> using
>> > > > > > >> > > > (0-9-1,
>> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
>> > should
>> > > > work
>> > > > > > on
>> > > > > > >> > 0.32
>> > > > > > >> > > > > > however
>> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer at
>> all"
>> > > > > option
>> > > > > > >> for
>> > > > > > >> > > AMQP
>> > > > > > >> > > > > 1.0
>> > > > > > >> > > > > > > probably didn't work (this is different to an
>> > > > > authentication
>> > > > > > >> > layer
>> > > > > > >> > > > > which
>> > > > > > >> > > > > > > allows anonymous).
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Sorry i was not clear in my previous email, i
>> was
>> > > > taking
>> > > > > > >> about
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > > file not broker storage format, the use case is
>> > if i
>> > > > > > wanted
>> > > > > > >> to
>> > > > > > >> > > > > override
>> > > > > > >> > > > > > > > some of these properties and i have my own
>> custom
>> > > > > > >> tool/script
>> > > > > > >> > > that
>> > > > > > >> > > > > > goes
>> > > > > > >> > > > > > > > through the properties files and replace with
>> the
>> > > > > > override i
>> > > > > > >> > > > defined,
>> > > > > > >> > > > > > so
>> > > > > > >> > > > > > > i
>> > > > > > >> > > > > > > > want to use the same tool/script for qpid
>> config
>> > as
>> > > > > well.
>> > > > > > My
>> > > > > > >> > tool
>> > > > > > >> > > > > only
>> > > > > > >> > > > > > > > support key:value but if we have json array it
>> > wont
>> > > > > work.
>> > > > > > So
>> > > > > > >> > if i
>> > > > > > >> > > > > want
>> > > > > > >> > > > > > to
>> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
>> arguments
>> > > what
>> > > > > are
>> > > > > > >> the
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > > that java qpid support as command line?
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > Below if my config, is it possible to pass all
>> > these
>> > > > as
>> > > > > > >> command
>> > > > > > >> > > > line
>> > > > > > >> > > > > > > > arguments?
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > {
>> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
>> > > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-
>> 1f1b258ea3ac",
>> > > > > > >> > > > > > > >     "name" : "Anonymous",
>> > > > > > >> > > > > > > >     "type" : "Anonymous"
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-
>> 268295f580bc",
>> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
>> > > > > > >> > > > > > > >   "name" : "Broker",
>> > > > > > >> > > > > > > >   "plugins" : [ {
>> > > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-
>> 4cfd63266dbf",
>> > > > > > >> > > > > > > >     "name" : "httpManagement",
>> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-
>> 27a58fd2df89",
>> > > > > > >> > > > > > > >     "name" : "jmxManagement",
>> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "ports" : [ {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-
>> 8c452149cdae",
>> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > > > >> > > > > > > >     "port" : "9099",
>> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-
>> 75802f3b6553",
>> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > > > >> > > > > > > >     "port" : "8999",
>> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-
>> 3113b46157f9",
>> > > > > > >> > > > > > > >     "name" : "AMQP",
>> > > > > > >> > > > > > > >     "port" : "5672"
>> > > > > > >> > > > > > > >   }, {
>> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-
>> f2606b5e4f6e",
>> > > > > > >> > > > > > > >     "name" : "HTTP",
>> > > > > > >> > > > > > > >     "port" : "10001",
>> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > > > >> > > > > > > >   } ],
>> > > > > > >> > > > > > > >   "storeVersion" : 1,
>> > > > > > >> > > > > > > >   "virtualhosts" : [ {
>> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
>> > > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-
>> fe2b34e54503",
>> > > > > > >> > > > > > > >     "name" : "default",
>> > > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>> > > > > > >> > > > > > > >     "storeType" : "DERBY",
>> > > > > > >> > > > > > > >     "type" : "STANDARD"
>> > > > > > >> > > > > > > >   } ]
>> > > > > > >> > > > > > > > }
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON
>> with a
>> > > > > > reference
>> > > > > > >> to
>> > > > > > >> > a
>> > > > > > >> > > > > > > property, for example
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > "name" : "${myPortName}",
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > this will then interpolate the value from the
>> > > property,
>> > > > so
>> > > > > > if
>> > > > > > >> you
>> > > > > > >> > > set
>> > > > > > >> > > > > the
>> > > > > > >> > > > > > > property myPortName to "RobsPort" that will be
>> the
>> > > value
>> > > > > > used.
>> > > > > > >> > > Type
>> > > > > > >> > > > > > > conversions will be performed, so if the required
>> > > value
>> > > > is
>> > > > > > an
>> > > > > > >> > > integer
>> > > > > > >> > > > > it
>> > > > > > >> > > > > > > will convert to an integer.  If the value
>> required
>> > is
>> > > a
>> > > > > list
>> > > > > > >> then
>> > > > > > >> > > you
>> > > > > > >> > > > > can
>> > > > > > >> > > > > > > use a String representation of a list in Json
>> > format.
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > You can set the properties individually, or you
>> can
>> > > pass
>> > > > > in
>> > > > > > a
>> > > > > > >> > > > > properties
>> > > > > > >> > > > > > > file using -props or --system-properties-file
>> (so if
>> > > you
>> > > > > > have
>> > > > > > >> a
>> > > > > > >> > > > > > properties
>> > > > > > >> > > > > > > file already maybe you can just pass this in).
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > One more question or may be clarification is,
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config file
>> > that
>> > > > will
>> > > > > > >> > > generated
>> > > > > > >> > > > by
>> > > > > > >> > > > > > > qpidd
>> > > > > > >> > > > > > > > from the initial config right? what is the use
>> of
>> > > > > > >> store-path?*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > That is correct.  Some people just like to have
>> > config
>> > > > > files
>> > > > > > >> in a
>> > > > > > >> > > > > > > non-default location :-)
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > Hope this helps,
>> > > > > > >> > > > > > > Rob
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > > > > *Thanks,*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > *Ram*
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>> > > > > > >> > > > rob.j.godfrey@gmail.com
>> > > > > > >> > > > > >
>> > > > > > >> > > > > > > > wrote:
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
>> > recommend
>> > > > > > >> updating
>> > > > > > >> > to
>> > > > > > >> > > > > v6.0.1
>> > > > > > >> > > > > > > if
>> > > > > > >> > > > > > > > > you can.
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
>> > question -
>> > > > are
>> > > > > > you
>> > > > > > >> > > asking
>> > > > > > >> > > > > > about
>> > > > > > >> > > > > > > > > overriding particular properties, or the
>> storage
>> > > > > format
>> > > > > > >> for
>> > > > > > >> > the
>> > > > > > >> > > > > > broker
>> > > > > > >> > > > > > > > > configuration - these are two different
>> things.
>> > > In
>> > > > > > terms
>> > > > > > >> of
>> > > > > > >> > > > > > > properties /
>> > > > > > >> > > > > > > > > context overrides this can be specified
>> using a
>> > > > > > properties
>> > > > > > >> > file
>> > > > > > >> > > > (at
>> > > > > > >> > > > > > > least
>> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
>> 0.28).
>> > > In
>> > > > > > >> terms of
>> > > > > > >> > > the
>> > > > > > >> > > > > > > > > configuration, JSON is currently the only
>> text
>> > > based
>> > > > > > >> format
>> > > > > > >> > > > > > supported.
>> > > > > > >> > > > > > > > You
>> > > > > > >> > > > > > > > > can use a database for the broker config
>> > storage,
>> > > > > there
>> > > > > > >> are
>> > > > > > >> > > built
>> > > > > > >> > > > > in
>> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic
>> > JDBC
>> > > > > > config
>> > > > > > >> > > stores.
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > May I ask what advantage you would get by
>> using
>> > > YAML
>> > > > > or
>> > > > > > >> > > > properties
>> > > > > > >> > > > > > > files
>> > > > > > >> > > > > > > > > instead of JSON?
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > -- Rob
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
>> ganapavarapu
>> > <
>> > > > > > >> > > > > > > rammohanganap@gmail.com
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > wrote:
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > > > > Hi,
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
>> > broker
>> > > > > using
>> > > > > > >> > > > .properties
>> > > > > > >> > > > > > > file
>> > > > > > >> > > > > > > > or
>> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file?
>> or
>> > > what
>> > > > > are
>> > > > > > >> the
>> > > > > > >> > > other
>> > > > > > >> > > > > > ways
>> > > > > > >> > > > > > > to
>> > > > > > >> > > > > > > > > > pass override properties instead of JSON
>> > config
>> > > > > file?
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > > > Thanks,
>> > > > > > >> > > > > > > > > > Ram
>> > > > > > >> > > > > > > > > >
>> > > > > > >> > > > > > > > >
>> > > > > > >> > > > > > > >
>> > > > > > >> > > > > > >
>> > > > > > >> > > > > >
>> > > > > > >> > > > >
>> > > > > > >> > > >
>> > > > > > >> > >
>> > > > > > >> >
>> > > > > > >>
>> > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Hi Rob,

I did not get chance to try v6, i will try and let you know.

Ram

On Tue, Apr 19, 2016 at 12:56 AM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> have you got v6 working now?  The memory settings for the broker depend
> upon which version you are using.  For version 6 there is a comprehensive
> discussion on memory allocation settings in the manual:
>
> https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html
>
> Versions prior to v6 use memory (and threads) very differently.
>
> Hope this helps,
> Rob
>
> On 18 April 2016 at 22:09, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > One more question in the same context, what are the recommended JVM
> > settings for java broker? i am using default "-Xmx1024m" its working fine
> > but i wanted to follow the best practices. Please advice.
> >
> >
> > Thanks,
> > Ram
> >
> > On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Hi Ram,
> > >
> > > Apologies, I've been having a few issues with my internet provider.
> > >
> > > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> > > configuring (through the UI) that to use ANONYMOUS, and then check your
> > > client can connect.
> > >
> > > This is what I did, and it works fine for me.
> > >
> > > For the rest of your requirements (like setting the log file location,
> > > etc.) you really want to be using version 6 or later.
> > >
> > > Cheers,
> > > Rob
> > >
> > > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> > rammohanganap@gmail.com>
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > I have tried with virtualhost config that you have provided but i am
> > > still
> > > > getting connection error. I would like to make it work with 6.0*
> > version
> > > > but at this point i need 0.28 version to make working, so if you can
> > help
> > > > me to configure log location in 0.28 that would unblock me for now.
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > > S.QUEUECLIENTSERVICE -
> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > > Host =
> > > > localhost
> > > >
> > > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > > Not Connected. error Client and broker have no SASL mechanisms in
> > common.
> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > CRAM-MD5-HASHED,
> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> > PLAIN
> > > > username=guest
> > > >
> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > S.QUEUECLIENTSERVICE -
> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> > > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > > c.a.a.q.QueueBuilder -
> > > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > > >
> > > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > > c.a.a.q.QueueBuilder -
> > > > QueueBuilder$1.execute() : Creating exchange/queue
> > > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > > >
> > > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > > S.QUEUECLIENTSERVICE -
> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > > Host =
> > > > localhost
> > > >
> > > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > Not Connected. error Unknown virtualhost '' username=null
> > > >
> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > S.QUEUECLIENTSERVICE -
> > > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > > Host =
> > > > localhost
> > > >
> > > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > > Not Connected. error Client and broker have no SASL mechanisms in
> > common.
> > > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > CRAM-MD5-HASHED,
> > > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> > PLAIN
> > > > username=guest
> > > >
> > > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > > S.QUEUECLIENTSERVICE -
> > > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> > > >
> > > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <
> rob.j.godfrey@gmail.com>
> > > > wrote:
> > > >
> > > > > Hi Ram,
> > > > >
> > > > > in 6.0.x the log file location can be changed directly through the
> > > config
> > > > > json - I really think we should first concentrate on getting that
> > > working
> > > > > for you.
> > > > >
> > > > > I've verified that using the 6.0.x client and broker with a URL
> > similar
> > > > to
> > > > > the one in your log file works for ANONYMOUS.
> > > > >
> > > > > Looking at your error output again I notice that there seem
> actually
> > to
> > > > be
> > > > > two connection attempts, the first ends with:
> > > > >
> > > > > error Unknown virtualhost '' username=null
> > > > >
> > > > > Then we see the second failure with the "PLAIN" error.  That first
> > > error
> > > > > indicate that ANONYMOUS log in was actually successful, however you
> > > were
> > > > > the running into the fact that no virtualhost is mapped to the
> empty
> > > > > string.  That suggests to me that you don't have any
> > virtualhostaliases
> > > > > defined in your (AMQP) port config. I'd suggest that it would make
> > > sense
> > > > to
> > > > > craft an initial config based on the default initial config for
> 6.0.x
> > > > which
> > > > > will include a virtualhostaliases section in the AMQP port which
> > looks
> > > > > like:
> > > > >
> > > > > "virtualhostaliases" : [ {
> > > > >    "name" : "nameAlias",
> > > > >    "type" : "nameAlias"
> > > > > }, {
> > > > >     "name" : "defaultAlias",
> > > > >     "type" : "defaultAlias"
> > > > > }, {
> > > > >     "name" : "hostnameAlias",
> > > > >     "type" : "hostnameAlias"
> > > > > } ]
> > > > >
> > > > >
> > > > > Let me know if this works for you, then we can look at some of your
> > > other
> > > > > questions.
> > > > >
> > > > > -- Rob
> > > > >
> > > > >
> > > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Rob,
> > > > > >
> > > > > > Also how do i pass logfile location as -prop as commandline
> > argument?
> > > > or
> > > > > > how do i change default log file location i know we can update
> > > > log4j.xml
> > > > > > but is there any other way?
> > > > > >
> > > > > > Ram
> > > > > >
> > > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > > > > rammohanganap@gmail.com> wrote:
> > > > > >
> > > > > > > Rob,
> > > > > > >
> > > > > > > I tried passing properties file as argument but it didnt like
> it.
> > > > Does
> > > > > it
> > > > > > > support in 0.28v?
> > > > > > >
> > > > > > >
> > > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > > > > ../etc/qpidd.properties
> > > > > > >
> > > > > > > System Properties set to -Damqj.logging.level=info
> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > -DQPID_LOG_APPEND=
> > > > > > > Using QPID_CLASSPATH
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > > -XX:+UseConcMarkSweepGC
> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > > > > Exception during startup: java.lang.IllegalArgumentException:
> > > > > > > Configuration property argument is not of the format
> name=value:
> > > > > > > ../etc/qpidd.properties
> > > > > > > java.lang.IllegalArgumentException: Configuration property
> > argument
> > > > is
> > > > > > not
> > > > > > > of the format name=value: ../etc/qpidd.properties
> > > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > > > > > >
> > > > > > >
> > > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > > > > > ../etc/qpidd.properties
> > > > > > >
> > > > > > > System Properties set to -Damqj.logging.level=info
> > > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> > -DQPID_LOG_APPEND=
> > > > > > > Using QPID_CLASSPATH
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > > -XX:+UseConcMarkSweepGC
> > > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > *Error: Unrecognized option: -props*
> > > > > > > How do i change this block from initial configuration to use
> > > > Anonymous?
> > > > > > >
> > > > > > > {
> > > > > > >   "name": "Broker",
> > > > > > >   "storeVersion": 1,
> > > > > > >   "modelVersion": "1.2",
> > > > > > >   "defaultVirtualHost" : "default",
> > > > > > >   "authenticationproviders" : [ {
> > > > > > >     "name" : "passwordFile",
> > > > > > >     "type" : "PlainPasswordFile",
> > > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > > > > >     "preferencesproviders" : [{
> > > > > > >         "name": "fileSystemPreferences",
> > > > > > >         "type": "FileSystemPreferences",
> > > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > > > > > >     }]
> > > > > > >   } ],
> > > > > > >
> > > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > > > rob.j.godfrey@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > >> Hi Ram,
> > > > > > >>
> > > > > > >> so one approach to this would be to define you authentication
> > > > > providers
> > > > > > up
> > > > > > >> from in your config file, so you have an an Anonymous provider
> > > named
> > > > > > >> "anonymous" and a password file provider named "passwordFile"
> or
> > > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc)
> you
> > > can
> > > > > > >> parameterise the value they have for the name of the auth
> > provider
> > > > > they
> > > > > > >> are
> > > > > > >> using.  So your initial JSON config file could contain
> something
> > > > like:
> > > > > > >>
> > > > > > >> "ports" : [  {
> > > > > > >>   "name" : "AMQP",
> > > > > > >>   "port" : "${qpid.amqp_port}",
> > > > > > >>   "authenticationProvider" :
> > > > > "${qpid.amqp_port_authenticationProvider}",
> > > > > > >>
> > > > > > >>
> > > > > > >> and then you could override which provider to use at runtime
> by
> > > > > setting
> > > > > > >> the
> > > > > > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > > > > > >> passwordFile
> > > > > > >> (or the name of any other authentication provider that is
> > defined
> > > in
> > > > > > your
> > > > > > >> JSON config.
> > > > > > >>
> > > > > > >> The only thing you can't do with properties is to add new
> > entities
> > > > > into
> > > > > > >> the
> > > > > > >> config - that you have to do either by editing the file, or by
> > > using
> > > > > the
> > > > > > >> REST api to modify the broker configuration while it is
> running.
> > > > > > >>
> > > > > > >> Hope this helps,
> > > > > > >> Rob
> > > > > > >>
> > > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > > > > rammohanganap@gmail.com>
> > > > > > >> wrote:
> > > > > > >>
> > > > > > >> > Rob,
> > > > > > >> >
> > > > > > >> > Thanks for detailed explanation, i wanted to restart with
> the
> > > > > changed
> > > > > > >> > properties if any for example today i have Anonymous SASL
> and
> > > > later
> > > > > i
> > > > > > >> may
> > > > > > >> > want to use password file. How do i pass SASL mechanism as
> > > -prop?
> > > > > > >> >
> > > > > > >> > Thanks,
> > > > > > >> > Ram
> > > > > > >> >
> > > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > > > > rob.j.godfrey@gmail.com>
> > > > > > >> > wrote:
> > > > > > >> >
> > > > > > >> > > Hi Ram,
> > > > > > >> > >
> > > > > > >> > > The initial config file is only used when there is no
> broker
> > > > > config
> > > > > > -
> > > > > > >> the
> > > > > > >> > > idea is that it is used to populate the broker config on
> > first
> > > > > > >> startup.
> > > > > > >> > > Once there is a broker config file then this is used
> (since
> > it
> > > > may
> > > > > > >> have
> > > > > > >> > > been updated by creating or modifying entities through the
> > > > > > management
> > > > > > >> > > functions).  The broker ships with a default initial
> config
> > > > which
> > > > > is
> > > > > > >> > > contained within its jar files, however we allow people to
> > > > provide
> > > > > > >> there
> > > > > > >> > > own.  Records in the config file a copied verbatim into
> the
> > > > config
> > > > > > >> store
> > > > > > >> > -
> > > > > > >> > > the only difference being that ids are generated for each
> > > > entity.
> > > > > > The
> > > > > > >> > > interpolation from property names to values is done each
> > time
> > > > the
> > > > > > >> broker
> > > > > > >> > > reads the config.  If the broker finds there is config in
> > the
> > > > > store
> > > > > > >> path
> > > > > > >> > > then it completely ignores the initial config - it does
> not
> > > > > examine
> > > > > > >> any
> > > > > > >> > > differences.
> > > > > > >> > >
> > > > > > >> > > Are you looking to start a completely fresh broker each
> > time,
> > > or
> > > > > > >> merely
> > > > > > >> > to
> > > > > > >> > > be able to change certain properties (such as port
> numbers)
> > on
> > > > > each
> > > > > > >> > > restart?  If you do not want to retain any changes to the
> > > broker
> > > > > > >> > > configuration made while the broker is actually running,
> > then
> > > > you
> > > > > > >> could
> > > > > > >> > use
> > > > > > >> > > a "memory" config store rather than a Json one.  If you
> want
> > > to
> > > > > > retain
> > > > > > >> > any
> > > > > > >> > > changes made through management, but desire the ability to
> > > > change
> > > > > > >> certain
> > > > > > >> > > properties (like ports) on each startup, then you don't
> need
> > > to
> > > > > > worry
> > > > > > >> > about
> > > > > > >> > > the fact that the initial configuration is only loaded the
> > > first
> > > > > > time
> > > > > > >> -
> > > > > > >> > you
> > > > > > >> > > just need to pass in the property values you want on
> > startup.
> > > > > > >> > >
> > > > > > >> > > In terms of an example system properties file...  The
> > default
> > > > > > >> > > initial-config.json defines the amqp port to be
> > > > ${qpid.amqp_port}
> > > > > > and
> > > > > > >> the
> > > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
> > > > properties
> > > > > > >> file
> > > > > > >> > > called rob.properties which contains
> > > > > > >> > >
> > > > > > >> > > qpid.http_port=8888
> > > > > > >> > > qpid.amqp_port=5555
> > > > > > >> > >
> > > > > > >> > > and then run qpid with the argument -props rob.properties
> > > then I
> > > > > > >> get...
> > > > > > >> > >
> > > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP
> port
> > > 8888
> > > > > > >> > >
> > > > > > >> > >
> > > > > > >> > > So, when you use your initial or stored config you just
> need
> > > to
> > > > > > ensure
> > > > > > >> > all
> > > > > > >> > > the variables you use in your config are set in your
> > > properties
> > > > > file
> > > > > > >> > (some
> > > > > > >> > > properties have defaults within the code if they are not
> > > > otherwise
> > > > > > >> set -
> > > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > > > > > elsewhere).
> > > > > > >> > >
> > > > > > >> > > Hope this helps,
> > > > > > >> > > Rob
> > > > > > >> > >
> > > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > > > > >> rammohanganap@gmail.com
> > > > > > >> > >
> > > > > > >> > > wrote:
> > > > > > >> > >
> > > > > > >> > > > Rob,
> > > > > > >> > > >
> > > > > > >> > > > Thank you, one more question on -icp and -sp, so what
> if i
> > > > have
> > > > > > >> updated
> > > > > > >> > > icp
> > > > > > >> > > > with some property change  and restarted broker with icp
> > > > (every
> > > > > > >> time i
> > > > > > >> > > > restart broker i am using initial config
> > > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its
> is
> > > > right
> > > > > > way
> > > > > > >> or
> > > > > > >> > > > not), does it automatically update config file in -sp? i
> > my
> > > > case
> > > > > > it
> > > > > > >> did
> > > > > > >> > > not
> > > > > > >> > > > updated the config file in store-path upon restart. What
> > > will
> > > > > > >> happened
> > > > > > >> > > if i
> > > > > > >> > > > have differences in initial config file that i use to
> > start
> > > > > broker
> > > > > > >> and
> > > > > > >> > > the
> > > > > > >> > > > config file under store-path?
> > > > > > >> > > >
> > > > > > >> > > > Thanks,
> > > > > > >> > > > Ram
> > > > > > >> > > >
> > > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > > > > >> rob.j.godfrey@gmail.com>
> > > > > > >> > > > wrote:
> > > > > > >> > > >
> > > > > > >> > > > > This looks like a client error to me... the line which
> > > says:
> > > > > > >> > > > >
> > > > > > >> > > > >  Client restricted itself to : PLAIN
> > > > > > >> > > > >
> > > > > > >> > > > > Out of interest what happens if you remove the
> > > > > > >> > &sasl_mechs='ANONYMOUS'
> > > > > > >> > > > from
> > > > > > >> > > > > your connection URL?  Without any sort of restriction
> > I'd
> > > > > expect
> > > > > > >> the
> > > > > > >> > > > client
> > > > > > >> > > > > to do the right thing.
> > > > > > >> > > > >
> > > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll
> have
> > > > deeper
> > > > > > >> look
> > > > > > >> > in
> > > > > > >> > > > the
> > > > > > >> > > > > morning.
> > > > > > >> > > > >
> > > > > > >> > > > > -- Rob
> > > > > > >> > > > >
> > > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > > > > >> > > rammohanganap@gmail.com
> > > > > > >> > > > >
> > > > > > >> > > > > wrote:
> > > > > > >> > > > >
> > > > > > >> > > > > > Rob,
> > > > > > >> > > > > >
> > > > > > >> > > > > > thanks for the explanation, do you have a sample
> > > > > > >> > > > > --system-properties-file?
> > > > > > >> > > > > > that i can take a look?
> > > > > > >> > > > > >
> > > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is
> throwing
> > > this
> > > > > > >> error, i
> > > > > > >> > > am
> > > > > > >> > > > > not
> > > > > > >> > > > > > a developer, i am ops guy and i dont want to change
> > the
> > > > > > existing
> > > > > > >> > code
> > > > > > >> > > > but
> > > > > > >> > > > > > wanted to make java qpid work. This is the error i
> am
> > > > > getting
> > > > > > >> with
> > > > > > >> > > > > 6.0.1v..
> > > > > > >> > > > > >
> > > > > > >> > > > > > 2016-04-07 22:32:36,726
> > > > > > >> > > > > >
> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > > > ERROR
> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > ConnectionImpl.openConnection() :
> > > > > Error
> > > > > > >> > > > connecting
> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > >
> > > > > > >> > > >
> > > > > > >> > >
> > > > > > >> >
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > >> > > > > > error Unknown virtualhost '' username=null
> > > > > > >> > > > > > 2016-04-07 22:32:36,731
> > > > > > >> > > > > >
> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > > > ERROR
> > > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> > ConnectionImpl.openConnection() :
> > > > > Error
> > > > > > >> > > > connecting
> > > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > >
> > > > > > >> > > >
> > > > > > >> > >
> > > > > > >> >
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > >> > > > > > error Client and broker have no SASL mechanisms in
> > > common.
> > > > > > >> Broker
> > > > > > >> > > > allows
> > > > > > >> > > > > :
> > > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > > CRAM-MD5-HASHED,
> > > > > > >> > CRAM-MD5,
> > > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> > to
> > > :
> > > > > > PLAIN
> > > > > > >> > > > > > username=guest
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > > > And here is my sasl mechanism.
> > > > > > >> > > > > >
> > > > > > >> > > > > > curl -s 0:10001/service/sasl
> > > > > > >> > > > > > {
> > > > > > >> > > > > >   "user" : "ANONYMOUS",
> > > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > > > >> > > > > >
> > > > > > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1
> > is
> > > > not
> > > > > > >> > working.
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > > > Thanks,
> > > > > > >> > > > > > Ram
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > > > > > >> > rob.j.godfrey@gmail.com
> > > > > > >> > > >
> > > > > > >> > > > > > wrote:
> > > > > > >> > > > > >
> > > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > > > >> > > > > rammohanganap@gmail.com
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > wrote:
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > > Rob,
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> > authentication?
> > > > last
> > > > > > >> time
> > > > > > >> > > when
> > > > > > >> > > > i
> > > > > > >> > > > > > try
> > > > > > >> > > > > > > to
> > > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol
> > are
> > > > you
> > > > > > >> using
> > > > > > >> > > > (0-9-1,
> > > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
> > should
> > > > work
> > > > > > on
> > > > > > >> > 0.32
> > > > > > >> > > > > > however
> > > > > > >> > > > > > > I think in 0.32 the "no authentication layer at
> all"
> > > > > option
> > > > > > >> for
> > > > > > >> > > AMQP
> > > > > > >> > > > > 1.0
> > > > > > >> > > > > > > probably didn't work (this is different to an
> > > > > authentication
> > > > > > >> > layer
> > > > > > >> > > > > which
> > > > > > >> > > > > > > allows anonymous).
> > > > > > >> > > > > > >
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > Sorry i was not clear in my previous email, i
> was
> > > > taking
> > > > > > >> about
> > > > > > >> > > > > > properties
> > > > > > >> > > > > > > > file not broker storage format, the use case is
> > if i
> > > > > > wanted
> > > > > > >> to
> > > > > > >> > > > > override
> > > > > > >> > > > > > > > some of these properties and i have my own
> custom
> > > > > > >> tool/script
> > > > > > >> > > that
> > > > > > >> > > > > > goes
> > > > > > >> > > > > > > > through the properties files and replace with
> the
> > > > > > override i
> > > > > > >> > > > defined,
> > > > > > >> > > > > > so
> > > > > > >> > > > > > > i
> > > > > > >> > > > > > > > want to use the same tool/script for qpid config
> > as
> > > > > well.
> > > > > > My
> > > > > > >> > tool
> > > > > > >> > > > > only
> > > > > > >> > > > > > > > support key:value but if we have json array it
> > wont
> > > > > work.
> > > > > > So
> > > > > > >> > if i
> > > > > > >> > > > > want
> > > > > > >> > > > > > to
> > > > > > >> > > > > > > > pass overrides as "-prop"  command line
> arguments
> > > what
> > > > > are
> > > > > > >> the
> > > > > > >> > > > > > properties
> > > > > > >> > > > > > > > that java qpid support as command line?
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > Below if my config, is it possible to pass all
> > these
> > > > as
> > > > > > >> command
> > > > > > >> > > > line
> > > > > > >> > > > > > > > arguments?
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > {
> > > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > > > > > >> > > > > > > >     "id" :
> "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > > >> > > > > > > >     "name" : "Anonymous",
> > > > > > >> > > > > > > >     "type" : "Anonymous"
> > > > > > >> > > > > > > >   } ],
> > > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > > > > > >> > > > > > > >   "name" : "Broker",
> > > > > > >> > > > > > > >   "plugins" : [ {
> > > > > > >> > > > > > > >     "id" :
> "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > > >> > > > > > > >     "name" : "httpManagement",
> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > > >> > > > > > > >   }, {
> > > > > > >> > > > > > > >     "id" :
> "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > > >> > > > > > > >     "name" : "jmxManagement",
> > > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > > >> > > > > > > >   } ],
> > > > > > >> > > > > > > >   "ports" : [ {
> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >> > > > > > > >     "id" :
> "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > > > >> > > > > > > >     "port" : "9099",
> > > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > > >> > > > > > > >   }, {
> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >> > > > > > > >     "id" :
> "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > > > >> > > > > > > >     "port" : "8999",
> > > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > > > > >> > > > > > > >   }, {
> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >> > > > > > > >     "id" :
> "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > > >> > > > > > > >     "name" : "AMQP",
> > > > > > >> > > > > > > >     "port" : "5672"
> > > > > > >> > > > > > > >   }, {
> > > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >> > > > > > > >     "id" :
> "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > > >> > > > > > > >     "name" : "HTTP",
> > > > > > >> > > > > > > >     "port" : "10001",
> > > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > > > >> > > > > > > >   } ],
> > > > > > >> > > > > > > >   "storeVersion" : 1,
> > > > > > >> > > > > > > >   "virtualhosts" : [ {
> > > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > > > > >> > > > > > > >     "id" :
> "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > > >> > > > > > > >     "name" : "default",
> > > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > > >> > > > > > > >     "storeType" : "DERBY",
> > > > > > >> > > > > > > >     "type" : "STANDARD"
> > > > > > >> > > > > > > >   } ]
> > > > > > >> > > > > > > > }
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > In 6.0 you can replace any value in the JSON with
> a
> > > > > > reference
> > > > > > >> to
> > > > > > >> > a
> > > > > > >> > > > > > > property, for example
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > "name" : "${myPortName}",
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > this will then interpolate the value from the
> > > property,
> > > > so
> > > > > > if
> > > > > > >> you
> > > > > > >> > > set
> > > > > > >> > > > > the
> > > > > > >> > > > > > > property myPortName to "RobsPort" that will be the
> > > value
> > > > > > used.
> > > > > > >> > > Type
> > > > > > >> > > > > > > conversions will be performed, so if the required
> > > value
> > > > is
> > > > > > an
> > > > > > >> > > integer
> > > > > > >> > > > > it
> > > > > > >> > > > > > > will convert to an integer.  If the value required
> > is
> > > a
> > > > > list
> > > > > > >> then
> > > > > > >> > > you
> > > > > > >> > > > > can
> > > > > > >> > > > > > > use a String representation of a list in Json
> > format.
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > You can set the properties individually, or you
> can
> > > pass
> > > > > in
> > > > > > a
> > > > > > >> > > > > properties
> > > > > > >> > > > > > > file using -props or --system-properties-file (so
> if
> > > you
> > > > > > have
> > > > > > >> a
> > > > > > >> > > > > > properties
> > > > > > >> > > > > > > file already maybe you can just pass this in).
> > > > > > >> > > > > > >
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > > One more question or may be clarification is,
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > *-sp (--store-path) is the path of config file
> > that
> > > > will
> > > > > > >> > > generated
> > > > > > >> > > > by
> > > > > > >> > > > > > > qpidd
> > > > > > >> > > > > > > > from the initial config right? what is the use
> of
> > > > > > >> store-path?*
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > That is correct.  Some people just like to have
> > config
> > > > > files
> > > > > > >> in a
> > > > > > >> > > > > > > non-default location :-)
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > Hope this helps,
> > > > > > >> > > > > > > Rob
> > > > > > >> > > > > > >
> > > > > > >> > > > > > >
> > > > > > >> > > > > > > > *Thanks,*
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > *Ram*
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > > > > >> > > > rob.j.godfrey@gmail.com
> > > > > > >> > > > > >
> > > > > > >> > > > > > > > wrote:
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> > recommend
> > > > > > >> updating
> > > > > > >> > to
> > > > > > >> > > > > v6.0.1
> > > > > > >> > > > > > > if
> > > > > > >> > > > > > > > > you can.
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> > question -
> > > > are
> > > > > > you
> > > > > > >> > > asking
> > > > > > >> > > > > > about
> > > > > > >> > > > > > > > > overriding particular properties, or the
> storage
> > > > > format
> > > > > > >> for
> > > > > > >> > the
> > > > > > >> > > > > > broker
> > > > > > >> > > > > > > > > configuration - these are two different
> things.
> > > In
> > > > > > terms
> > > > > > >> of
> > > > > > >> > > > > > > properties /
> > > > > > >> > > > > > > > > context overrides this can be specified using
> a
> > > > > > properties
> > > > > > >> > file
> > > > > > >> > > > (at
> > > > > > >> > > > > > > least
> > > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on
> 0.28).
> > > In
> > > > > > >> terms of
> > > > > > >> > > the
> > > > > > >> > > > > > > > > configuration, JSON is currently the only text
> > > based
> > > > > > >> format
> > > > > > >> > > > > > supported.
> > > > > > >> > > > > > > > You
> > > > > > >> > > > > > > > > can use a database for the broker config
> > storage,
> > > > > there
> > > > > > >> are
> > > > > > >> > > built
> > > > > > >> > > > > in
> > > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic
> > JDBC
> > > > > > config
> > > > > > >> > > stores.
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > May I ask what advantage you would get by
> using
> > > YAML
> > > > > or
> > > > > > >> > > > properties
> > > > > > >> > > > > > > files
> > > > > > >> > > > > > > > > instead of JSON?
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > -- Rob
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan
> ganapavarapu
> > <
> > > > > > >> > > > > > > rammohanganap@gmail.com
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > wrote:
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > > > > Hi,
> > > > > > >> > > > > > > > > >
> > > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
> > broker
> > > > > using
> > > > > > >> > > > .properties
> > > > > > >> > > > > > > file
> > > > > > >> > > > > > > > or
> > > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file? or
> > > what
> > > > > are
> > > > > > >> the
> > > > > > >> > > other
> > > > > > >> > > > > > ways
> > > > > > >> > > > > > > to
> > > > > > >> > > > > > > > > > pass override properties instead of JSON
> > config
> > > > > file?
> > > > > > >> > > > > > > > > >
> > > > > > >> > > > > > > > > >
> > > > > > >> > > > > > > > > > Thanks,
> > > > > > >> > > > > > > > > > Ram
> > > > > > >> > > > > > > > > >
> > > > > > >> > > > > > > > >
> > > > > > >> > > > > > > >
> > > > > > >> > > > > > >
> > > > > > >> > > > > >
> > > > > > >> > > > >
> > > > > > >> > > >
> > > > > > >> > >
> > > > > > >> >
> > > > > > >>
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

have you got v6 working now?  The memory settings for the broker depend
upon which version you are using.  For version 6 there is a comprehensive
discussion on memory allocation settings in the manual:
https://qpid.apache.org/releases/qpid-java-6.0.1/java-broker/book/Java-Broker-Runtime-Memory.html

Versions prior to v6 use memory (and threads) very differently.

Hope this helps,
Rob

On 18 April 2016 at 22:09, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> One more question in the same context, what are the recommended JVM
> settings for java broker? i am using default "-Xmx1024m" its working fine
> but i wanted to follow the best practices. Please advice.
>
>
> Thanks,
> Ram
>
> On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > Hi Ram,
> >
> > Apologies, I've been having a few issues with my internet provider.
> >
> > Can you try setting up an entirely clean install of Qpid 6.0.1 and
> > configuring (through the UI) that to use ANONYMOUS, and then check your
> > client can connect.
> >
> > This is what I did, and it works fine for me.
> >
> > For the rest of your requirements (like setting the log file location,
> > etc.) you really want to be using version 6 or later.
> >
> > Cheers,
> > Rob
> >
> > On 11 April 2016 at 22:44, rammohan ganapavarapu <
> rammohanganap@gmail.com>
> > wrote:
> >
> > > Rob,
> > >
> > > I have tried with virtualhost config that you have provided but i am
> > still
> > > getting connection error. I would like to make it work with 6.0*
> version
> > > but at this point i need 0.28 version to make working, so if you can
> help
> > > me to configure log location in 0.28 that would unblock me for now.
> > >
> > > Thanks,
> > > Ram
> > >
> > > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> > S.QUEUECLIENTSERVICE -
> > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > Host =
> > > localhost
> > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > Not Connected. error Client and broker have no SASL mechanisms in
> common.
> > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > CRAM-MD5-HASHED,
> > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> PLAIN
> > > username=guest
> > >
> > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > S.QUEUECLIENTSERVICE -
> > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> > > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> > c.a.a.q.QueueBuilder -
> > > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> > >
> > > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> > c.a.a.q.QueueBuilder -
> > > QueueBuilder$1.execute() : Creating exchange/queue
> > > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> > >
> > > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> > S.QUEUECLIENTSERVICE -
> > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > Host =
> > > localhost
> > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > Not Connected. error Unknown virtualhost '' username=null
> > >
> > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > S.QUEUECLIENTSERVICE -
> > > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> > Host =
> > > localhost
> > >
> > >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > > Not Connected. error Client and broker have no SASL mechanisms in
> common.
> > > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > CRAM-MD5-HASHED,
> > > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> PLAIN
> > > username=guest
> > >
> > > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> > S.QUEUECLIENTSERVICE -
> > > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> > >
> > > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > > > Hi Ram,
> > > >
> > > > in 6.0.x the log file location can be changed directly through the
> > config
> > > > json - I really think we should first concentrate on getting that
> > working
> > > > for you.
> > > >
> > > > I've verified that using the 6.0.x client and broker with a URL
> similar
> > > to
> > > > the one in your log file works for ANONYMOUS.
> > > >
> > > > Looking at your error output again I notice that there seem actually
> to
> > > be
> > > > two connection attempts, the first ends with:
> > > >
> > > > error Unknown virtualhost '' username=null
> > > >
> > > > Then we see the second failure with the "PLAIN" error.  That first
> > error
> > > > indicate that ANONYMOUS log in was actually successful, however you
> > were
> > > > the running into the fact that no virtualhost is mapped to the empty
> > > > string.  That suggests to me that you don't have any
> virtualhostaliases
> > > > defined in your (AMQP) port config. I'd suggest that it would make
> > sense
> > > to
> > > > craft an initial config based on the default initial config for 6.0.x
> > > which
> > > > will include a virtualhostaliases section in the AMQP port which
> looks
> > > > like:
> > > >
> > > > "virtualhostaliases" : [ {
> > > >    "name" : "nameAlias",
> > > >    "type" : "nameAlias"
> > > > }, {
> > > >     "name" : "defaultAlias",
> > > >     "type" : "defaultAlias"
> > > > }, {
> > > >     "name" : "hostnameAlias",
> > > >     "type" : "hostnameAlias"
> > > > } ]
> > > >
> > > >
> > > > Let me know if this works for you, then we can look at some of your
> > other
> > > > questions.
> > > >
> > > > -- Rob
> > > >
> > > >
> > > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Rob,
> > > > >
> > > > > Also how do i pass logfile location as -prop as commandline
> argument?
> > > or
> > > > > how do i change default log file location i know we can update
> > > log4j.xml
> > > > > but is there any other way?
> > > > >
> > > > > Ram
> > > > >
> > > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > > > rammohanganap@gmail.com> wrote:
> > > > >
> > > > > > Rob,
> > > > > >
> > > > > > I tried passing properties file as argument but it didnt like it.
> > > Does
> > > > it
> > > > > > support in 0.28v?
> > > > > >
> > > > > >
> > > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > > > ../etc/qpidd.properties
> > > > > >
> > > > > > System Properties set to -Damqj.logging.level=info
> > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> -DQPID_LOG_APPEND=
> > > > > > Using QPID_CLASSPATH
> > > > > >
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > -XX:+UseConcMarkSweepGC
> > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > > > Exception during startup: java.lang.IllegalArgumentException:
> > > > > > Configuration property argument is not of the format name=value:
> > > > > > ../etc/qpidd.properties
> > > > > > java.lang.IllegalArgumentException: Configuration property
> argument
> > > is
> > > > > not
> > > > > > of the format name=value: ../etc/qpidd.properties
> > > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > > > > >
> > > > > >
> > > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > > > > ../etc/qpidd.properties
> > > > > >
> > > > > > System Properties set to -Damqj.logging.level=info
> > > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32
> -DQPID_LOG_APPEND=
> > > > > > Using QPID_CLASSPATH
> > > > > >
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > > -XX:+UseConcMarkSweepGC
> > > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > *Error: Unrecognized option: -props*
> > > > > > How do i change this block from initial configuration to use
> > > Anonymous?
> > > > > >
> > > > > > {
> > > > > >   "name": "Broker",
> > > > > >   "storeVersion": 1,
> > > > > >   "modelVersion": "1.2",
> > > > > >   "defaultVirtualHost" : "default",
> > > > > >   "authenticationproviders" : [ {
> > > > > >     "name" : "passwordFile",
> > > > > >     "type" : "PlainPasswordFile",
> > > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > > > >     "preferencesproviders" : [{
> > > > > >         "name": "fileSystemPreferences",
> > > > > >         "type": "FileSystemPreferences",
> > > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > > > > >     }]
> > > > > >   } ],
> > > > > >
> > > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > > rob.j.godfrey@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > >> Hi Ram,
> > > > > >>
> > > > > >> so one approach to this would be to define you authentication
> > > > providers
> > > > > up
> > > > > >> from in your config file, so you have an an Anonymous provider
> > named
> > > > > >> "anonymous" and a password file provider named "passwordFile" or
> > > > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you
> > can
> > > > > >> parameterise the value they have for the name of the auth
> provider
> > > > they
> > > > > >> are
> > > > > >> using.  So your initial JSON config file could contain something
> > > like:
> > > > > >>
> > > > > >> "ports" : [  {
> > > > > >>   "name" : "AMQP",
> > > > > >>   "port" : "${qpid.amqp_port}",
> > > > > >>   "authenticationProvider" :
> > > > "${qpid.amqp_port_authenticationProvider}",
> > > > > >>
> > > > > >>
> > > > > >> and then you could override which provider to use at runtime by
> > > > setting
> > > > > >> the
> > > > > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > > > > >> passwordFile
> > > > > >> (or the name of any other authentication provider that is
> defined
> > in
> > > > > your
> > > > > >> JSON config.
> > > > > >>
> > > > > >> The only thing you can't do with properties is to add new
> entities
> > > > into
> > > > > >> the
> > > > > >> config - that you have to do either by editing the file, or by
> > using
> > > > the
> > > > > >> REST api to modify the broker configuration while it is running.
> > > > > >>
> > > > > >> Hope this helps,
> > > > > >> Rob
> > > > > >>
> > > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > > > rammohanganap@gmail.com>
> > > > > >> wrote:
> > > > > >>
> > > > > >> > Rob,
> > > > > >> >
> > > > > >> > Thanks for detailed explanation, i wanted to restart with the
> > > > changed
> > > > > >> > properties if any for example today i have Anonymous SASL and
> > > later
> > > > i
> > > > > >> may
> > > > > >> > want to use password file. How do i pass SASL mechanism as
> > -prop?
> > > > > >> >
> > > > > >> > Thanks,
> > > > > >> > Ram
> > > > > >> >
> > > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > > > rob.j.godfrey@gmail.com>
> > > > > >> > wrote:
> > > > > >> >
> > > > > >> > > Hi Ram,
> > > > > >> > >
> > > > > >> > > The initial config file is only used when there is no broker
> > > > config
> > > > > -
> > > > > >> the
> > > > > >> > > idea is that it is used to populate the broker config on
> first
> > > > > >> startup.
> > > > > >> > > Once there is a broker config file then this is used (since
> it
> > > may
> > > > > >> have
> > > > > >> > > been updated by creating or modifying entities through the
> > > > > management
> > > > > >> > > functions).  The broker ships with a default initial config
> > > which
> > > > is
> > > > > >> > > contained within its jar files, however we allow people to
> > > provide
> > > > > >> there
> > > > > >> > > own.  Records in the config file a copied verbatim into the
> > > config
> > > > > >> store
> > > > > >> > -
> > > > > >> > > the only difference being that ids are generated for each
> > > entity.
> > > > > The
> > > > > >> > > interpolation from property names to values is done each
> time
> > > the
> > > > > >> broker
> > > > > >> > > reads the config.  If the broker finds there is config in
> the
> > > > store
> > > > > >> path
> > > > > >> > > then it completely ignores the initial config - it does not
> > > > examine
> > > > > >> any
> > > > > >> > > differences.
> > > > > >> > >
> > > > > >> > > Are you looking to start a completely fresh broker each
> time,
> > or
> > > > > >> merely
> > > > > >> > to
> > > > > >> > > be able to change certain properties (such as port numbers)
> on
> > > > each
> > > > > >> > > restart?  If you do not want to retain any changes to the
> > broker
> > > > > >> > > configuration made while the broker is actually running,
> then
> > > you
> > > > > >> could
> > > > > >> > use
> > > > > >> > > a "memory" config store rather than a Json one.  If you want
> > to
> > > > > retain
> > > > > >> > any
> > > > > >> > > changes made through management, but desire the ability to
> > > change
> > > > > >> certain
> > > > > >> > > properties (like ports) on each startup, then you don't need
> > to
> > > > > worry
> > > > > >> > about
> > > > > >> > > the fact that the initial configuration is only loaded the
> > first
> > > > > time
> > > > > >> -
> > > > > >> > you
> > > > > >> > > just need to pass in the property values you want on
> startup.
> > > > > >> > >
> > > > > >> > > In terms of an example system properties file...  The
> default
> > > > > >> > > initial-config.json defines the amqp port to be
> > > ${qpid.amqp_port}
> > > > > and
> > > > > >> the
> > > > > >> > > http port to run on ${qpid.http_port}, so if I create a
> > > properties
> > > > > >> file
> > > > > >> > > called rob.properties which contains
> > > > > >> > >
> > > > > >> > > qpid.http_port=8888
> > > > > >> > > qpid.amqp_port=5555
> > > > > >> > >
> > > > > >> > > and then run qpid with the argument -props rob.properties
> > then I
> > > > > >> get...
> > > > > >> > >
> > > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port
> > 8888
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > So, when you use your initial or stored config you just need
> > to
> > > > > ensure
> > > > > >> > all
> > > > > >> > > the variables you use in your config are set in your
> > properties
> > > > file
> > > > > >> > (some
> > > > > >> > > properties have defaults within the code if they are not
> > > otherwise
> > > > > >> set -
> > > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > > > > elsewhere).
> > > > > >> > >
> > > > > >> > > Hope this helps,
> > > > > >> > > Rob
> > > > > >> > >
> > > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > > > >> rammohanganap@gmail.com
> > > > > >> > >
> > > > > >> > > wrote:
> > > > > >> > >
> > > > > >> > > > Rob,
> > > > > >> > > >
> > > > > >> > > > Thank you, one more question on -icp and -sp, so what if i
> > > have
> > > > > >> updated
> > > > > >> > > icp
> > > > > >> > > > with some property change  and restarted broker with icp
> > > (every
> > > > > >> time i
> > > > > >> > > > restart broker i am using initial config
> > > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is
> > > right
> > > > > way
> > > > > >> or
> > > > > >> > > > not), does it automatically update config file in -sp? i
> my
> > > case
> > > > > it
> > > > > >> did
> > > > > >> > > not
> > > > > >> > > > updated the config file in store-path upon restart. What
> > will
> > > > > >> happened
> > > > > >> > > if i
> > > > > >> > > > have differences in initial config file that i use to
> start
> > > > broker
> > > > > >> and
> > > > > >> > > the
> > > > > >> > > > config file under store-path?
> > > > > >> > > >
> > > > > >> > > > Thanks,
> > > > > >> > > > Ram
> > > > > >> > > >
> > > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > > > >> rob.j.godfrey@gmail.com>
> > > > > >> > > > wrote:
> > > > > >> > > >
> > > > > >> > > > > This looks like a client error to me... the line which
> > says:
> > > > > >> > > > >
> > > > > >> > > > >  Client restricted itself to : PLAIN
> > > > > >> > > > >
> > > > > >> > > > > Out of interest what happens if you remove the
> > > > > >> > &sasl_mechs='ANONYMOUS'
> > > > > >> > > > from
> > > > > >> > > > > your connection URL?  Without any sort of restriction
> I'd
> > > > expect
> > > > > >> the
> > > > > >> > > > client
> > > > > >> > > > > to do the right thing.
> > > > > >> > > > >
> > > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll have
> > > deeper
> > > > > >> look
> > > > > >> > in
> > > > > >> > > > the
> > > > > >> > > > > morning.
> > > > > >> > > > >
> > > > > >> > > > > -- Rob
> > > > > >> > > > >
> > > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > > > >> > > rammohanganap@gmail.com
> > > > > >> > > > >
> > > > > >> > > > > wrote:
> > > > > >> > > > >
> > > > > >> > > > > > Rob,
> > > > > >> > > > > >
> > > > > >> > > > > > thanks for the explanation, do you have a sample
> > > > > >> > > > > --system-properties-file?
> > > > > >> > > > > > that i can take a look?
> > > > > >> > > > > >
> > > > > >> > > > > > Also i just tried 6.0.1 but my client/app is throwing
> > this
> > > > > >> error, i
> > > > > >> > > am
> > > > > >> > > > > not
> > > > > >> > > > > > a developer, i am ops guy and i dont want to change
> the
> > > > > existing
> > > > > >> > code
> > > > > >> > > > but
> > > > > >> > > > > > wanted to make java qpid work. This is the error i am
> > > > getting
> > > > > >> with
> > > > > >> > > > > 6.0.1v..
> > > > > >> > > > > >
> > > > > >> > > > > > 2016-04-07 22:32:36,726
> > > > > >> > > > > >
> > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > > ERROR
> > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> ConnectionImpl.openConnection() :
> > > > Error
> > > > > >> > > > connecting
> > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > >> > > > > > error Unknown virtualhost '' username=null
> > > > > >> > > > > > 2016-04-07 22:32:36,731
> > > > > >> > > > > >
> > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > > ERROR
> > > > > >> > > > > > S.QUEUECLIENTSERVICE -
> ConnectionImpl.openConnection() :
> > > > Error
> > > > > >> > > > connecting
> > > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > >> > > > > > error Client and broker have no SASL mechanisms in
> > common.
> > > > > >> Broker
> > > > > >> > > > allows
> > > > > >> > > > > :
> > > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> > CRAM-MD5-HASHED,
> > > > > >> > CRAM-MD5,
> > > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself
> to
> > :
> > > > > PLAIN
> > > > > >> > > > > > username=guest
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > And here is my sasl mechanism.
> > > > > >> > > > > >
> > > > > >> > > > > > curl -s 0:10001/service/sasl
> > > > > >> > > > > > {
> > > > > >> > > > > >   "user" : "ANONYMOUS",
> > > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > > >> > > > > >
> > > > > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1
> is
> > > not
> > > > > >> > working.
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > Thanks,
> > > > > >> > > > > > Ram
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > > > > >> > rob.j.godfrey@gmail.com
> > > > > >> > > >
> > > > > >> > > > > > wrote:
> > > > > >> > > > > >
> > > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > > >> > > > > rammohanganap@gmail.com
> > > > > >> > > > > > >
> > > > > >> > > > > > > wrote:
> > > > > >> > > > > > >
> > > > > >> > > > > > > > Rob,
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > Does v6.0.1 support Anonymous or no
> authentication?
> > > last
> > > > > >> time
> > > > > >> > > when
> > > > > >> > > > i
> > > > > >> > > > > > try
> > > > > >> > > > > > > to
> > > > > >> > > > > > > > use .32 it was not working with Anonymous.
> > > > > >> > > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol
> are
> > > you
> > > > > >> using
> > > > > >> > > > (0-9-1,
> > > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous
> should
> > > work
> > > > > on
> > > > > >> > 0.32
> > > > > >> > > > > > however
> > > > > >> > > > > > > I think in 0.32 the "no authentication layer at all"
> > > > option
> > > > > >> for
> > > > > >> > > AMQP
> > > > > >> > > > > 1.0
> > > > > >> > > > > > > probably didn't work (this is different to an
> > > > authentication
> > > > > >> > layer
> > > > > >> > > > > which
> > > > > >> > > > > > > allows anonymous).
> > > > > >> > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > Sorry i was not clear in my previous email, i was
> > > taking
> > > > > >> about
> > > > > >> > > > > > properties
> > > > > >> > > > > > > > file not broker storage format, the use case is
> if i
> > > > > wanted
> > > > > >> to
> > > > > >> > > > > override
> > > > > >> > > > > > > > some of these properties and i have my own custom
> > > > > >> tool/script
> > > > > >> > > that
> > > > > >> > > > > > goes
> > > > > >> > > > > > > > through the properties files and replace with the
> > > > > override i
> > > > > >> > > > defined,
> > > > > >> > > > > > so
> > > > > >> > > > > > > i
> > > > > >> > > > > > > > want to use the same tool/script for qpid config
> as
> > > > well.
> > > > > My
> > > > > >> > tool
> > > > > >> > > > > only
> > > > > >> > > > > > > > support key:value but if we have json array it
> wont
> > > > work.
> > > > > So
> > > > > >> > if i
> > > > > >> > > > > want
> > > > > >> > > > > > to
> > > > > >> > > > > > > > pass overrides as "-prop"  command line arguments
> > what
> > > > are
> > > > > >> the
> > > > > >> > > > > > properties
> > > > > >> > > > > > > > that java qpid support as command line?
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > Below if my config, is it possible to pass all
> these
> > > as
> > > > > >> command
> > > > > >> > > > line
> > > > > >> > > > > > > > arguments?
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > {
> > > > > >> > > > > > > >   "authenticationproviders" : [ {
> > > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > >> > > > > > > >     "name" : "Anonymous",
> > > > > >> > > > > > > >     "type" : "Anonymous"
> > > > > >> > > > > > > >   } ],
> > > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > >> > > > > > > >   "modelVersion" : "1.3",
> > > > > >> > > > > > > >   "name" : "Broker",
> > > > > >> > > > > > > >   "plugins" : [ {
> > > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > >> > > > > > > >     "name" : "httpManagement",
> > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > >> > > > > > > >   }, {
> > > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > >> > > > > > > >     "name" : "jmxManagement",
> > > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > >> > > > > > > >   } ],
> > > > > >> > > > > > > >   "ports" : [ {
> > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > > >> > > > > > > >     "port" : "9099",
> > > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > >> > > > > > > >   }, {
> > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > > >> > > > > > > >     "port" : "8999",
> > > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > > > >> > > > > > > >   }, {
> > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > >> > > > > > > >     "name" : "AMQP",
> > > > > >> > > > > > > >     "port" : "5672"
> > > > > >> > > > > > > >   }, {
> > > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > >> > > > > > > >     "name" : "HTTP",
> > > > > >> > > > > > > >     "port" : "10001",
> > > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > > >> > > > > > > >   } ],
> > > > > >> > > > > > > >   "storeVersion" : 1,
> > > > > >> > > > > > > >   "virtualhosts" : [ {
> > > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > >> > > > > > > >     "name" : "default",
> > > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > >> > > > > > > >     "storeType" : "DERBY",
> > > > > >> > > > > > > >     "type" : "STANDARD"
> > > > > >> > > > > > > >   } ]
> > > > > >> > > > > > > > }
> > > > > >> > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > In 6.0 you can replace any value in the JSON with a
> > > > > reference
> > > > > >> to
> > > > > >> > a
> > > > > >> > > > > > > property, for example
> > > > > >> > > > > > >
> > > > > >> > > > > > > "name" : "${myPortName}",
> > > > > >> > > > > > >
> > > > > >> > > > > > > this will then interpolate the value from the
> > property,
> > > so
> > > > > if
> > > > > >> you
> > > > > >> > > set
> > > > > >> > > > > the
> > > > > >> > > > > > > property myPortName to "RobsPort" that will be the
> > value
> > > > > used.
> > > > > >> > > Type
> > > > > >> > > > > > > conversions will be performed, so if the required
> > value
> > > is
> > > > > an
> > > > > >> > > integer
> > > > > >> > > > > it
> > > > > >> > > > > > > will convert to an integer.  If the value required
> is
> > a
> > > > list
> > > > > >> then
> > > > > >> > > you
> > > > > >> > > > > can
> > > > > >> > > > > > > use a String representation of a list in Json
> format.
> > > > > >> > > > > > >
> > > > > >> > > > > > > You can set the properties individually, or you can
> > pass
> > > > in
> > > > > a
> > > > > >> > > > > properties
> > > > > >> > > > > > > file using -props or --system-properties-file (so if
> > you
> > > > > have
> > > > > >> a
> > > > > >> > > > > > properties
> > > > > >> > > > > > > file already maybe you can just pass this in).
> > > > > >> > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > > > > One more question or may be clarification is,
> > > > > >> > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > *-sp (--store-path) is the path of config file
> that
> > > will
> > > > > >> > > generated
> > > > > >> > > > by
> > > > > >> > > > > > > qpidd
> > > > > >> > > > > > > > from the initial config right? what is the use of
> > > > > >> store-path?*
> > > > > >> > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > That is correct.  Some people just like to have
> config
> > > > files
> > > > > >> in a
> > > > > >> > > > > > > non-default location :-)
> > > > > >> > > > > > >
> > > > > >> > > > > > > Hope this helps,
> > > > > >> > > > > > > Rob
> > > > > >> > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > > > > *Thanks,*
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > *Ram*
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > > > >> > > > rob.j.godfrey@gmail.com
> > > > > >> > > > > >
> > > > > >> > > > > > > > wrote:
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would
> recommend
> > > > > >> updating
> > > > > >> > to
> > > > > >> > > > > v6.0.1
> > > > > >> > > > > > > if
> > > > > >> > > > > > > > > you can.
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > Secondly I'm not sure I understand your
> question -
> > > are
> > > > > you
> > > > > >> > > asking
> > > > > >> > > > > > about
> > > > > >> > > > > > > > > overriding particular properties, or the storage
> > > > format
> > > > > >> for
> > > > > >> > the
> > > > > >> > > > > > broker
> > > > > >> > > > > > > > > configuration - these are two different things.
> > In
> > > > > terms
> > > > > >> of
> > > > > >> > > > > > > properties /
> > > > > >> > > > > > > > > context overrides this can be specified using a
> > > > > properties
> > > > > >> > file
> > > > > >> > > > (at
> > > > > >> > > > > > > least
> > > > > >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).
> > In
> > > > > >> terms of
> > > > > >> > > the
> > > > > >> > > > > > > > > configuration, JSON is currently the only text
> > based
> > > > > >> format
> > > > > >> > > > > > supported.
> > > > > >> > > > > > > > You
> > > > > >> > > > > > > > > can use a database for the broker config
> storage,
> > > > there
> > > > > >> are
> > > > > >> > > built
> > > > > >> > > > > in
> > > > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic
> JDBC
> > > > > config
> > > > > >> > > stores.
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > May I ask what advantage you would get by using
> > YAML
> > > > or
> > > > > >> > > > properties
> > > > > >> > > > > > > files
> > > > > >> > > > > > > > > instead of JSON?
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > -- Rob
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu
> <
> > > > > >> > > > > > > rammohanganap@gmail.com
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > wrote:
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > > > > Hi,
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28
> broker
> > > > using
> > > > > >> > > > .properties
> > > > > >> > > > > > > file
> > > > > >> > > > > > > > or
> > > > > >> > > > > > > > > > .xml or .yaml file instead of .json file? or
> > what
> > > > are
> > > > > >> the
> > > > > >> > > other
> > > > > >> > > > > > ways
> > > > > >> > > > > > > to
> > > > > >> > > > > > > > > > pass override properties instead of JSON
> config
> > > > file?
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > > > Thanks,
> > > > > >> > > > > > > > > > Ram
> > > > > >> > > > > > > > > >
> > > > > >> > > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

One more question in the same context, what are the recommended JVM
settings for java broker? i am using default "-Xmx1024m" its working fine
but i wanted to follow the best practices. Please advice.


Thanks,
Ram

On Wed, Apr 13, 2016 at 6:46 AM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> Apologies, I've been having a few issues with my internet provider.
>
> Can you try setting up an entirely clean install of Qpid 6.0.1 and
> configuring (through the UI) that to use ANONYMOUS, and then check your
> client can connect.
>
> This is what I did, and it works fine for me.
>
> For the rest of your requirements (like setting the log file location,
> etc.) you really want to be using version 6 or later.
>
> Cheers,
> Rob
>
> On 11 April 2016 at 22:44, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > I have tried with virtualhost config that you have provided but i am
> still
> > getting connection error. I would like to make it work with 6.0* version
> > but at this point i need 0.28 version to make working, so if you can help
> > me to configure log location in 0.28 that would unblock me for now.
> >
> > Thanks,
> > Ram
> >
> > 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR
> S.QUEUECLIENTSERVICE -
> > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> Host =
> > localhost
> >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > Not Connected. error Client and broker have no SASL mechanisms in common.
> > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> CRAM-MD5-HASHED,
> > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > username=guest
> >
> > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> S.QUEUECLIENTSERVICE -
> > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> > 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR
> c.a.a.q.QueueBuilder -
> > QueueBuilder$1.execute() : Attempt to create exchange/queue
> > ax-ex-mxgroup001/ax-q-mxgroup001 failed.
> >
> > 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO
> c.a.a.q.QueueBuilder -
> > QueueBuilder$1.execute() : Creating exchange/queue
> > ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
> >
> > 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR
> S.QUEUECLIENTSERVICE -
> > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> Host =
> > localhost
> >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > Not Connected. error Unknown virtualhost '' username=null
> >
> > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> S.QUEUECLIENTSERVICE -
> > ConnectionImpl.openConnection() : Error connecting to Connection : 0
> Host =
> > localhost
> >
> >
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> > Not Connected. error Client and broker have no SASL mechanisms in common.
> > Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> CRAM-MD5-HASHED,
> > CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > username=guest
> >
> > 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR
> S.QUEUECLIENTSERVICE -
> > ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> >
> > On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Hi Ram,
> > >
> > > in 6.0.x the log file location can be changed directly through the
> config
> > > json - I really think we should first concentrate on getting that
> working
> > > for you.
> > >
> > > I've verified that using the 6.0.x client and broker with a URL similar
> > to
> > > the one in your log file works for ANONYMOUS.
> > >
> > > Looking at your error output again I notice that there seem actually to
> > be
> > > two connection attempts, the first ends with:
> > >
> > > error Unknown virtualhost '' username=null
> > >
> > > Then we see the second failure with the "PLAIN" error.  That first
> error
> > > indicate that ANONYMOUS log in was actually successful, however you
> were
> > > the running into the fact that no virtualhost is mapped to the empty
> > > string.  That suggests to me that you don't have any virtualhostaliases
> > > defined in your (AMQP) port config. I'd suggest that it would make
> sense
> > to
> > > craft an initial config based on the default initial config for 6.0.x
> > which
> > > will include a virtualhostaliases section in the AMQP port which looks
> > > like:
> > >
> > > "virtualhostaliases" : [ {
> > >    "name" : "nameAlias",
> > >    "type" : "nameAlias"
> > > }, {
> > >     "name" : "defaultAlias",
> > >     "type" : "defaultAlias"
> > > }, {
> > >     "name" : "hostnameAlias",
> > >     "type" : "hostnameAlias"
> > > } ]
> > >
> > >
> > > Let me know if this works for you, then we can look at some of your
> other
> > > questions.
> > >
> > > -- Rob
> > >
> > >
> > > On 9 April 2016 at 00:31, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > Also how do i pass logfile location as -prop as commandline argument?
> > or
> > > > how do i change default log file location i know we can update
> > log4j.xml
> > > > but is there any other way?
> > > >
> > > > Ram
> > > >
> > > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com> wrote:
> > > >
> > > > > Rob,
> > > > >
> > > > > I tried passing properties file as argument but it didnt like it.
> > Does
> > > it
> > > > > support in 0.28v?
> > > > >
> > > > >
> > > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > > ../etc/qpidd.properties
> > > > >
> > > > > System Properties set to -Damqj.logging.level=info
> > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > > > Using QPID_CLASSPATH
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > -XX:+UseConcMarkSweepGC
> > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > > Exception during startup: java.lang.IllegalArgumentException:
> > > > > Configuration property argument is not of the format name=value:
> > > > > ../etc/qpidd.properties
> > > > > java.lang.IllegalArgumentException: Configuration property argument
> > is
> > > > not
> > > > > of the format name=value: ../etc/qpidd.properties
> > > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > > > >
> > > > >
> > > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > > > ../etc/qpidd.properties
> > > > >
> > > > > System Properties set to -Damqj.logging.level=info
> > > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > > > Using QPID_CLASSPATH
> > > > >
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > > -XX:+UseConcMarkSweepGC
> > > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > *Error: Unrecognized option: -props*
> > > > > How do i change this block from initial configuration to use
> > Anonymous?
> > > > >
> > > > > {
> > > > >   "name": "Broker",
> > > > >   "storeVersion": 1,
> > > > >   "modelVersion": "1.2",
> > > > >   "defaultVirtualHost" : "default",
> > > > >   "authenticationproviders" : [ {
> > > > >     "name" : "passwordFile",
> > > > >     "type" : "PlainPasswordFile",
> > > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > > >     "preferencesproviders" : [{
> > > > >         "name": "fileSystemPreferences",
> > > > >         "type": "FileSystemPreferences",
> > > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > > > >     }]
> > > > >   } ],
> > > > >
> > > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> > rob.j.godfrey@gmail.com>
> > > > > wrote:
> > > > >
> > > > >> Hi Ram,
> > > > >>
> > > > >> so one approach to this would be to define you authentication
> > > providers
> > > > up
> > > > >> from in your config file, so you have an an Anonymous provider
> named
> > > > >> "anonymous" and a password file provider named "passwordFile" or
> > > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you
> can
> > > > >> parameterise the value they have for the name of the auth provider
> > > they
> > > > >> are
> > > > >> using.  So your initial JSON config file could contain something
> > like:
> > > > >>
> > > > >> "ports" : [  {
> > > > >>   "name" : "AMQP",
> > > > >>   "port" : "${qpid.amqp_port}",
> > > > >>   "authenticationProvider" :
> > > "${qpid.amqp_port_authenticationProvider}",
> > > > >>
> > > > >>
> > > > >> and then you could override which provider to use at runtime by
> > > setting
> > > > >> the
> > > > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > > > >> passwordFile
> > > > >> (or the name of any other authentication provider that is defined
> in
> > > > your
> > > > >> JSON config.
> > > > >>
> > > > >> The only thing you can't do with properties is to add new entities
> > > into
> > > > >> the
> > > > >> config - that you have to do either by editing the file, or by
> using
> > > the
> > > > >> REST api to modify the broker configuration while it is running.
> > > > >>
> > > > >> Hope this helps,
> > > > >> Rob
> > > > >>
> > > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com>
> > > > >> wrote:
> > > > >>
> > > > >> > Rob,
> > > > >> >
> > > > >> > Thanks for detailed explanation, i wanted to restart with the
> > > changed
> > > > >> > properties if any for example today i have Anonymous SASL and
> > later
> > > i
> > > > >> may
> > > > >> > want to use password file. How do i pass SASL mechanism as
> -prop?
> > > > >> >
> > > > >> > Thanks,
> > > > >> > Ram
> > > > >> >
> > > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > > rob.j.godfrey@gmail.com>
> > > > >> > wrote:
> > > > >> >
> > > > >> > > Hi Ram,
> > > > >> > >
> > > > >> > > The initial config file is only used when there is no broker
> > > config
> > > > -
> > > > >> the
> > > > >> > > idea is that it is used to populate the broker config on first
> > > > >> startup.
> > > > >> > > Once there is a broker config file then this is used (since it
> > may
> > > > >> have
> > > > >> > > been updated by creating or modifying entities through the
> > > > management
> > > > >> > > functions).  The broker ships with a default initial config
> > which
> > > is
> > > > >> > > contained within its jar files, however we allow people to
> > provide
> > > > >> there
> > > > >> > > own.  Records in the config file a copied verbatim into the
> > config
> > > > >> store
> > > > >> > -
> > > > >> > > the only difference being that ids are generated for each
> > entity.
> > > > The
> > > > >> > > interpolation from property names to values is done each time
> > the
> > > > >> broker
> > > > >> > > reads the config.  If the broker finds there is config in the
> > > store
> > > > >> path
> > > > >> > > then it completely ignores the initial config - it does not
> > > examine
> > > > >> any
> > > > >> > > differences.
> > > > >> > >
> > > > >> > > Are you looking to start a completely fresh broker each time,
> or
> > > > >> merely
> > > > >> > to
> > > > >> > > be able to change certain properties (such as port numbers) on
> > > each
> > > > >> > > restart?  If you do not want to retain any changes to the
> broker
> > > > >> > > configuration made while the broker is actually running, then
> > you
> > > > >> could
> > > > >> > use
> > > > >> > > a "memory" config store rather than a Json one.  If you want
> to
> > > > retain
> > > > >> > any
> > > > >> > > changes made through management, but desire the ability to
> > change
> > > > >> certain
> > > > >> > > properties (like ports) on each startup, then you don't need
> to
> > > > worry
> > > > >> > about
> > > > >> > > the fact that the initial configuration is only loaded the
> first
> > > > time
> > > > >> -
> > > > >> > you
> > > > >> > > just need to pass in the property values you want on startup.
> > > > >> > >
> > > > >> > > In terms of an example system properties file...  The default
> > > > >> > > initial-config.json defines the amqp port to be
> > ${qpid.amqp_port}
> > > > and
> > > > >> the
> > > > >> > > http port to run on ${qpid.http_port}, so if I create a
> > properties
> > > > >> file
> > > > >> > > called rob.properties which contains
> > > > >> > >
> > > > >> > > qpid.http_port=8888
> > > > >> > > qpid.amqp_port=5555
> > > > >> > >
> > > > >> > > and then run qpid with the argument -props rob.properties
> then I
> > > > >> get...
> > > > >> > >
> > > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port
> 8888
> > > > >> > >
> > > > >> > >
> > > > >> > > So, when you use your initial or stored config you just need
> to
> > > > ensure
> > > > >> > all
> > > > >> > > the variables you use in your config are set in your
> properties
> > > file
> > > > >> > (some
> > > > >> > > properties have defaults within the code if they are not
> > otherwise
> > > > >> set -
> > > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > > > elsewhere).
> > > > >> > >
> > > > >> > > Hope this helps,
> > > > >> > > Rob
> > > > >> > >
> > > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > > >> rammohanganap@gmail.com
> > > > >> > >
> > > > >> > > wrote:
> > > > >> > >
> > > > >> > > > Rob,
> > > > >> > > >
> > > > >> > > > Thank you, one more question on -icp and -sp, so what if i
> > have
> > > > >> updated
> > > > >> > > icp
> > > > >> > > > with some property change  and restarted broker with icp
> > (every
> > > > >> time i
> > > > >> > > > restart broker i am using initial config
> > > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is
> > right
> > > > way
> > > > >> or
> > > > >> > > > not), does it automatically update config file in -sp? i my
> > case
> > > > it
> > > > >> did
> > > > >> > > not
> > > > >> > > > updated the config file in store-path upon restart. What
> will
> > > > >> happened
> > > > >> > > if i
> > > > >> > > > have differences in initial config file that i use to start
> > > broker
> > > > >> and
> > > > >> > > the
> > > > >> > > > config file under store-path?
> > > > >> > > >
> > > > >> > > > Thanks,
> > > > >> > > > Ram
> > > > >> > > >
> > > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > > >> rob.j.godfrey@gmail.com>
> > > > >> > > > wrote:
> > > > >> > > >
> > > > >> > > > > This looks like a client error to me... the line which
> says:
> > > > >> > > > >
> > > > >> > > > >  Client restricted itself to : PLAIN
> > > > >> > > > >
> > > > >> > > > > Out of interest what happens if you remove the
> > > > >> > &sasl_mechs='ANONYMOUS'
> > > > >> > > > from
> > > > >> > > > > your connection URL?  Without any sort of restriction I'd
> > > expect
> > > > >> the
> > > > >> > > > client
> > > > >> > > > > to do the right thing.
> > > > >> > > > >
> > > > >> > > > > I need to get to sleep now (1am here :-) )... I'll have
> > deeper
> > > > >> look
> > > > >> > in
> > > > >> > > > the
> > > > >> > > > > morning.
> > > > >> > > > >
> > > > >> > > > > -- Rob
> > > > >> > > > >
> > > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > > >> > > rammohanganap@gmail.com
> > > > >> > > > >
> > > > >> > > > > wrote:
> > > > >> > > > >
> > > > >> > > > > > Rob,
> > > > >> > > > > >
> > > > >> > > > > > thanks for the explanation, do you have a sample
> > > > >> > > > > --system-properties-file?
> > > > >> > > > > > that i can take a look?
> > > > >> > > > > >
> > > > >> > > > > > Also i just tried 6.0.1 but my client/app is throwing
> this
> > > > >> error, i
> > > > >> > > am
> > > > >> > > > > not
> > > > >> > > > > > a developer, i am ops guy and i dont want to change the
> > > > existing
> > > > >> > code
> > > > >> > > > but
> > > > >> > > > > > wanted to make java qpid work. This is the error i am
> > > getting
> > > > >> with
> > > > >> > > > > 6.0.1v..
> > > > >> > > > > >
> > > > >> > > > > > 2016-04-07 22:32:36,726
> > > > >> > > > > >
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > ERROR
> > > > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> > > Error
> > > > >> > > > connecting
> > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > >> > > > > > error Unknown virtualhost '' username=null
> > > > >> > > > > > 2016-04-07 22:32:36,731
> > > > >> > > > > >
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > > ERROR
> > > > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> > > Error
> > > > >> > > > connecting
> > > > >> > > > > > to Connection : 0 Host = qphost01
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > >> > > > > > error Client and broker have no SASL mechanisms in
> common.
> > > > >> Broker
> > > > >> > > > allows
> > > > >> > > > > :
> > > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI,
> CRAM-MD5-HASHED,
> > > > >> > CRAM-MD5,
> > > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to
> :
> > > > PLAIN
> > > > >> > > > > > username=guest
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > > And here is my sasl mechanism.
> > > > >> > > > > >
> > > > >> > > > > > curl -s 0:10001/service/sasl
> > > > >> > > > > > {
> > > > >> > > > > >   "user" : "ANONYMOUS",
> > > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > >> > > > > >
> > > > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is
> > not
> > > > >> > working.
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > > Thanks,
> > > > >> > > > > > Ram
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > >
> > > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > > > >> > rob.j.godfrey@gmail.com
> > > > >> > > >
> > > > >> > > > > > wrote:
> > > > >> > > > > >
> > > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > >> > > > > rammohanganap@gmail.com
> > > > >> > > > > > >
> > > > >> > > > > > > wrote:
> > > > >> > > > > > >
> > > > >> > > > > > > > Rob,
> > > > >> > > > > > > >
> > > > >> > > > > > > > Does v6.0.1 support Anonymous or no authentication?
> > last
> > > > >> time
> > > > >> > > when
> > > > >> > > > i
> > > > >> > > > > > try
> > > > >> > > > > > > to
> > > > >> > > > > > > > use .32 it was not working with Anonymous.
> > > > >> > > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are
> > you
> > > > >> using
> > > > >> > > > (0-9-1,
> > > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should
> > work
> > > > on
> > > > >> > 0.32
> > > > >> > > > > > however
> > > > >> > > > > > > I think in 0.32 the "no authentication layer at all"
> > > option
> > > > >> for
> > > > >> > > AMQP
> > > > >> > > > > 1.0
> > > > >> > > > > > > probably didn't work (this is different to an
> > > authentication
> > > > >> > layer
> > > > >> > > > > which
> > > > >> > > > > > > allows anonymous).
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > > > Sorry i was not clear in my previous email, i was
> > taking
> > > > >> about
> > > > >> > > > > > properties
> > > > >> > > > > > > > file not broker storage format, the use case is if i
> > > > wanted
> > > > >> to
> > > > >> > > > > override
> > > > >> > > > > > > > some of these properties and i have my own custom
> > > > >> tool/script
> > > > >> > > that
> > > > >> > > > > > goes
> > > > >> > > > > > > > through the properties files and replace with the
> > > > override i
> > > > >> > > > defined,
> > > > >> > > > > > so
> > > > >> > > > > > > i
> > > > >> > > > > > > > want to use the same tool/script for qpid config as
> > > well.
> > > > My
> > > > >> > tool
> > > > >> > > > > only
> > > > >> > > > > > > > support key:value but if we have json array it wont
> > > work.
> > > > So
> > > > >> > if i
> > > > >> > > > > want
> > > > >> > > > > > to
> > > > >> > > > > > > > pass overrides as "-prop"  command line arguments
> what
> > > are
> > > > >> the
> > > > >> > > > > > properties
> > > > >> > > > > > > > that java qpid support as command line?
> > > > >> > > > > > > >
> > > > >> > > > > > > > Below if my config, is it possible to pass all these
> > as
> > > > >> command
> > > > >> > > > line
> > > > >> > > > > > > > arguments?
> > > > >> > > > > > > >
> > > > >> > > > > > > > {
> > > > >> > > > > > > >   "authenticationproviders" : [ {
> > > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > >> > > > > > > >     "name" : "Anonymous",
> > > > >> > > > > > > >     "type" : "Anonymous"
> > > > >> > > > > > > >   } ],
> > > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > >> > > > > > > >   "modelVersion" : "1.3",
> > > > >> > > > > > > >   "name" : "Broker",
> > > > >> > > > > > > >   "plugins" : [ {
> > > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > >> > > > > > > >     "name" : "httpManagement",
> > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > >> > > > > > > >   }, {
> > > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > >> > > > > > > >     "name" : "jmxManagement",
> > > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > >> > > > > > > >   } ],
> > > > >> > > > > > > >   "ports" : [ {
> > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > >> > > > > > > >     "port" : "9099",
> > > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > >> > > > > > > >   }, {
> > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > >> > > > > > > >     "port" : "8999",
> > > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > > >> > > > > > > >   }, {
> > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > >> > > > > > > >     "name" : "AMQP",
> > > > >> > > > > > > >     "port" : "5672"
> > > > >> > > > > > > >   }, {
> > > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > >> > > > > > > >     "name" : "HTTP",
> > > > >> > > > > > > >     "port" : "10001",
> > > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > >> > > > > > > >   } ],
> > > > >> > > > > > > >   "storeVersion" : 1,
> > > > >> > > > > > > >   "virtualhosts" : [ {
> > > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > >> > > > > > > >     "name" : "default",
> > > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > >> > > > > > > >     "storeType" : "DERBY",
> > > > >> > > > > > > >     "type" : "STANDARD"
> > > > >> > > > > > > >   } ]
> > > > >> > > > > > > > }
> > > > >> > > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > > In 6.0 you can replace any value in the JSON with a
> > > > reference
> > > > >> to
> > > > >> > a
> > > > >> > > > > > > property, for example
> > > > >> > > > > > >
> > > > >> > > > > > > "name" : "${myPortName}",
> > > > >> > > > > > >
> > > > >> > > > > > > this will then interpolate the value from the
> property,
> > so
> > > > if
> > > > >> you
> > > > >> > > set
> > > > >> > > > > the
> > > > >> > > > > > > property myPortName to "RobsPort" that will be the
> value
> > > > used.
> > > > >> > > Type
> > > > >> > > > > > > conversions will be performed, so if the required
> value
> > is
> > > > an
> > > > >> > > integer
> > > > >> > > > > it
> > > > >> > > > > > > will convert to an integer.  If the value required is
> a
> > > list
> > > > >> then
> > > > >> > > you
> > > > >> > > > > can
> > > > >> > > > > > > use a String representation of a list in Json format.
> > > > >> > > > > > >
> > > > >> > > > > > > You can set the properties individually, or you can
> pass
> > > in
> > > > a
> > > > >> > > > > properties
> > > > >> > > > > > > file using -props or --system-properties-file (so if
> you
> > > > have
> > > > >> a
> > > > >> > > > > > properties
> > > > >> > > > > > > file already maybe you can just pass this in).
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > > One more question or may be clarification is,
> > > > >> > > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > > > *-sp (--store-path) is the path of config file that
> > will
> > > > >> > > generated
> > > > >> > > > by
> > > > >> > > > > > > qpidd
> > > > >> > > > > > > > from the initial config right? what is the use of
> > > > >> store-path?*
> > > > >> > > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > > That is correct.  Some people just like to have config
> > > files
> > > > >> in a
> > > > >> > > > > > > non-default location :-)
> > > > >> > > > > > >
> > > > >> > > > > > > Hope this helps,
> > > > >> > > > > > > Rob
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > > > > *Thanks,*
> > > > >> > > > > > > >
> > > > >> > > > > > > > *Ram*
> > > > >> > > > > > > >
> > > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > > >> > > > rob.j.godfrey@gmail.com
> > > > >> > > > > >
> > > > >> > > > > > > > wrote:
> > > > >> > > > > > > >
> > > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
> > > > >> updating
> > > > >> > to
> > > > >> > > > > v6.0.1
> > > > >> > > > > > > if
> > > > >> > > > > > > > > you can.
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > Secondly I'm not sure I understand your question -
> > are
> > > > you
> > > > >> > > asking
> > > > >> > > > > > about
> > > > >> > > > > > > > > overriding particular properties, or the storage
> > > format
> > > > >> for
> > > > >> > the
> > > > >> > > > > > broker
> > > > >> > > > > > > > > configuration - these are two different things.
> In
> > > > terms
> > > > >> of
> > > > >> > > > > > > properties /
> > > > >> > > > > > > > > context overrides this can be specified using a
> > > > properties
> > > > >> > file
> > > > >> > > > (at
> > > > >> > > > > > > least
> > > > >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).
> In
> > > > >> terms of
> > > > >> > > the
> > > > >> > > > > > > > > configuration, JSON is currently the only text
> based
> > > > >> format
> > > > >> > > > > > supported.
> > > > >> > > > > > > > You
> > > > >> > > > > > > > > can use a database for the broker config storage,
> > > there
> > > > >> are
> > > > >> > > built
> > > > >> > > > > in
> > > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC
> > > > config
> > > > >> > > stores.
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > May I ask what advantage you would get by using
> YAML
> > > or
> > > > >> > > > properties
> > > > >> > > > > > > files
> > > > >> > > > > > > > > instead of JSON?
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > -- Rob
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > >> > > > > > > rammohanganap@gmail.com
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > wrote:
> > > > >> > > > > > > > >
> > > > >> > > > > > > > > > Hi,
> > > > >> > > > > > > > > >
> > > > >> > > > > > > > > > Is there any way to start qpid-java-0.28 broker
> > > using
> > > > >> > > > .properties
> > > > >> > > > > > > file
> > > > >> > > > > > > > or
> > > > >> > > > > > > > > > .xml or .yaml file instead of .json file? or
> what
> > > are
> > > > >> the
> > > > >> > > other
> > > > >> > > > > > ways
> > > > >> > > > > > > to
> > > > >> > > > > > > > > > pass override properties instead of JSON config
> > > file?
> > > > >> > > > > > > > > >
> > > > >> > > > > > > > > >
> > > > >> > > > > > > > > > Thanks,
> > > > >> > > > > > > > > > Ram
> > > > >> > > > > > > > > >
> > > > >> > > > > > > > >
> > > > >> > > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

Apologies, I've been having a few issues with my internet provider.

Can you try setting up an entirely clean install of Qpid 6.0.1 and
configuring (through the UI) that to use ANONYMOUS, and then check your
client can connect.

This is what I did, and it works fine for me.

For the rest of your requirements (like setting the log file location,
etc.) you really want to be using version 6 or later.

Cheers,
Rob

On 11 April 2016 at 22:44, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> I have tried with virtualhost config that you have provided but i am still
> getting connection error. I would like to make it work with 6.0* version
> but at this point i need 0.28 version to make working, so if you can help
> me to configure log location in 0.28 that would unblock me for now.
>
> Thanks,
> Ram
>
> 2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
> ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
> localhost
>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> Not Connected. error Client and broker have no SASL mechanisms in common.
> Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> username=guest
>
> 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
> ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
> 2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR c.a.a.q.QueueBuilder -
> QueueBuilder$1.execute() : Attempt to create exchange/queue
> ax-ex-mxgroup001/ax-q-mxgroup001 failed.
>
> 2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO  c.a.a.q.QueueBuilder -
> QueueBuilder$1.execute() : Creating exchange/queue
> ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl
>
> 2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
> ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
> localhost
>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> Not Connected. error Unknown virtualhost '' username=null
>
> 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
> ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
> localhost
>
> url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
> Not Connected. error Client and broker have no SASL mechanisms in common.
> Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> username=guest
>
> 2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
> ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
>
> On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > Hi Ram,
> >
> > in 6.0.x the log file location can be changed directly through the config
> > json - I really think we should first concentrate on getting that working
> > for you.
> >
> > I've verified that using the 6.0.x client and broker with a URL similar
> to
> > the one in your log file works for ANONYMOUS.
> >
> > Looking at your error output again I notice that there seem actually to
> be
> > two connection attempts, the first ends with:
> >
> > error Unknown virtualhost '' username=null
> >
> > Then we see the second failure with the "PLAIN" error.  That first error
> > indicate that ANONYMOUS log in was actually successful, however you were
> > the running into the fact that no virtualhost is mapped to the empty
> > string.  That suggests to me that you don't have any virtualhostaliases
> > defined in your (AMQP) port config. I'd suggest that it would make sense
> to
> > craft an initial config based on the default initial config for 6.0.x
> which
> > will include a virtualhostaliases section in the AMQP port which looks
> > like:
> >
> > "virtualhostaliases" : [ {
> >    "name" : "nameAlias",
> >    "type" : "nameAlias"
> > }, {
> >     "name" : "defaultAlias",
> >     "type" : "defaultAlias"
> > }, {
> >     "name" : "hostnameAlias",
> >     "type" : "hostnameAlias"
> > } ]
> >
> >
> > Let me know if this works for you, then we can look at some of your other
> > questions.
> >
> > -- Rob
> >
> >
> > On 9 April 2016 at 00:31, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> > wrote:
> >
> > > Rob,
> > >
> > > Also how do i pass logfile location as -prop as commandline argument?
> or
> > > how do i change default log file location i know we can update
> log4j.xml
> > > but is there any other way?
> > >
> > > Ram
> > >
> > > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > > rammohanganap@gmail.com> wrote:
> > >
> > > > Rob,
> > > >
> > > > I tried passing properties file as argument but it didnt like it.
> Does
> > it
> > > > support in 0.28v?
> > > >
> > > >
> > > > ./qpid-server -icp ../etc/initial_config.json -prop
> > > ../etc/qpidd.properties
> > > >
> > > > System Properties set to -Damqj.logging.level=info
> > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > > Using QPID_CLASSPATH
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > -XX:+UseConcMarkSweepGC
> > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > > Exception during startup: java.lang.IllegalArgumentException:
> > > > Configuration property argument is not of the format name=value:
> > > > ../etc/qpidd.properties
> > > > java.lang.IllegalArgumentException: Configuration property argument
> is
> > > not
> > > > of the format name=value: ../etc/qpidd.properties
> > > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > > >
> > > >
> > > > ./qpid-server -icp ../etc/initial_config.json -props
> > > > ../etc/qpidd.properties
> > > >
> > > > System Properties set to -Damqj.logging.level=info
> > > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > > Using QPID_CLASSPATH
> > > >
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> > -XX:+UseConcMarkSweepGC
> > > > -XX:+HeapDumpOnOutOfMemoryError
> > > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > >
> > > >
> > > >
> > > >
> > > > *Error: Unrecognized option: -props*
> > > > How do i change this block from initial configuration to use
> Anonymous?
> > > >
> > > > {
> > > >   "name": "Broker",
> > > >   "storeVersion": 1,
> > > >   "modelVersion": "1.2",
> > > >   "defaultVirtualHost" : "default",
> > > >   "authenticationproviders" : [ {
> > > >     "name" : "passwordFile",
> > > >     "type" : "PlainPasswordFile",
> > > >     "path" : "${qpid.home_dir}/etc/passwd",
> > > >     "preferencesproviders" : [{
> > > >         "name": "fileSystemPreferences",
> > > >         "type": "FileSystemPreferences",
> > > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > > >     }]
> > > >   } ],
> > > >
> > > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com>
> > > > wrote:
> > > >
> > > >> Hi Ram,
> > > >>
> > > >> so one approach to this would be to define you authentication
> > providers
> > > up
> > > >> from in your config file, so you have an an Anonymous provider named
> > > >> "anonymous" and a password file provider named "passwordFile" or
> > > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> > > >> parameterise the value they have for the name of the auth provider
> > they
> > > >> are
> > > >> using.  So your initial JSON config file could contain something
> like:
> > > >>
> > > >> "ports" : [  {
> > > >>   "name" : "AMQP",
> > > >>   "port" : "${qpid.amqp_port}",
> > > >>   "authenticationProvider" :
> > "${qpid.amqp_port_authenticationProvider}",
> > > >>
> > > >>
> > > >> and then you could override which provider to use at runtime by
> > setting
> > > >> the
> > > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > > >> passwordFile
> > > >> (or the name of any other authentication provider that is defined in
> > > your
> > > >> JSON config.
> > > >>
> > > >> The only thing you can't do with properties is to add new entities
> > into
> > > >> the
> > > >> config - that you have to do either by editing the file, or by using
> > the
> > > >> REST api to modify the broker configuration while it is running.
> > > >>
> > > >> Hope this helps,
> > > >> Rob
> > > >>
> > > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > > rammohanganap@gmail.com>
> > > >> wrote:
> > > >>
> > > >> > Rob,
> > > >> >
> > > >> > Thanks for detailed explanation, i wanted to restart with the
> > changed
> > > >> > properties if any for example today i have Anonymous SASL and
> later
> > i
> > > >> may
> > > >> > want to use password file. How do i pass SASL mechanism as -prop?
> > > >> >
> > > >> > Thanks,
> > > >> > Ram
> > > >> >
> > > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> > rob.j.godfrey@gmail.com>
> > > >> > wrote:
> > > >> >
> > > >> > > Hi Ram,
> > > >> > >
> > > >> > > The initial config file is only used when there is no broker
> > config
> > > -
> > > >> the
> > > >> > > idea is that it is used to populate the broker config on first
> > > >> startup.
> > > >> > > Once there is a broker config file then this is used (since it
> may
> > > >> have
> > > >> > > been updated by creating or modifying entities through the
> > > management
> > > >> > > functions).  The broker ships with a default initial config
> which
> > is
> > > >> > > contained within its jar files, however we allow people to
> provide
> > > >> there
> > > >> > > own.  Records in the config file a copied verbatim into the
> config
> > > >> store
> > > >> > -
> > > >> > > the only difference being that ids are generated for each
> entity.
> > > The
> > > >> > > interpolation from property names to values is done each time
> the
> > > >> broker
> > > >> > > reads the config.  If the broker finds there is config in the
> > store
> > > >> path
> > > >> > > then it completely ignores the initial config - it does not
> > examine
> > > >> any
> > > >> > > differences.
> > > >> > >
> > > >> > > Are you looking to start a completely fresh broker each time, or
> > > >> merely
> > > >> > to
> > > >> > > be able to change certain properties (such as port numbers) on
> > each
> > > >> > > restart?  If you do not want to retain any changes to the broker
> > > >> > > configuration made while the broker is actually running, then
> you
> > > >> could
> > > >> > use
> > > >> > > a "memory" config store rather than a Json one.  If you want to
> > > retain
> > > >> > any
> > > >> > > changes made through management, but desire the ability to
> change
> > > >> certain
> > > >> > > properties (like ports) on each startup, then you don't need to
> > > worry
> > > >> > about
> > > >> > > the fact that the initial configuration is only loaded the first
> > > time
> > > >> -
> > > >> > you
> > > >> > > just need to pass in the property values you want on startup.
> > > >> > >
> > > >> > > In terms of an example system properties file...  The default
> > > >> > > initial-config.json defines the amqp port to be
> ${qpid.amqp_port}
> > > and
> > > >> the
> > > >> > > http port to run on ${qpid.http_port}, so if I create a
> properties
> > > >> file
> > > >> > > called rob.properties which contains
> > > >> > >
> > > >> > > qpid.http_port=8888
> > > >> > > qpid.amqp_port=5555
> > > >> > >
> > > >> > > and then run qpid with the argument -props rob.properties then I
> > > >> get...
> > > >> > >
> > > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > >> > > [Broker] MNG-1001 : Web Management Startup
> > > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> > > >> > >
> > > >> > >
> > > >> > > So, when you use your initial or stored config you just need to
> > > ensure
> > > >> > all
> > > >> > > the variables you use in your config are set in your properties
> > file
> > > >> > (some
> > > >> > > properties have defaults within the code if they are not
> otherwise
> > > >> set -
> > > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > > elsewhere).
> > > >> > >
> > > >> > > Hope this helps,
> > > >> > > Rob
> > > >> > >
> > > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > > >> rammohanganap@gmail.com
> > > >> > >
> > > >> > > wrote:
> > > >> > >
> > > >> > > > Rob,
> > > >> > > >
> > > >> > > > Thank you, one more question on -icp and -sp, so what if i
> have
> > > >> updated
> > > >> > > icp
> > > >> > > > with some property change  and restarted broker with icp
> (every
> > > >> time i
> > > >> > > > restart broker i am using initial config
> > > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is
> right
> > > way
> > > >> or
> > > >> > > > not), does it automatically update config file in -sp? i my
> case
> > > it
> > > >> did
> > > >> > > not
> > > >> > > > updated the config file in store-path upon restart. What will
> > > >> happened
> > > >> > > if i
> > > >> > > > have differences in initial config file that i use to start
> > broker
> > > >> and
> > > >> > > the
> > > >> > > > config file under store-path?
> > > >> > > >
> > > >> > > > Thanks,
> > > >> > > > Ram
> > > >> > > >
> > > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > > >> rob.j.godfrey@gmail.com>
> > > >> > > > wrote:
> > > >> > > >
> > > >> > > > > This looks like a client error to me... the line which says:
> > > >> > > > >
> > > >> > > > >  Client restricted itself to : PLAIN
> > > >> > > > >
> > > >> > > > > Out of interest what happens if you remove the
> > > >> > &sasl_mechs='ANONYMOUS'
> > > >> > > > from
> > > >> > > > > your connection URL?  Without any sort of restriction I'd
> > expect
> > > >> the
> > > >> > > > client
> > > >> > > > > to do the right thing.
> > > >> > > > >
> > > >> > > > > I need to get to sleep now (1am here :-) )... I'll have
> deeper
> > > >> look
> > > >> > in
> > > >> > > > the
> > > >> > > > > morning.
> > > >> > > > >
> > > >> > > > > -- Rob
> > > >> > > > >
> > > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > >> > > rammohanganap@gmail.com
> > > >> > > > >
> > > >> > > > > wrote:
> > > >> > > > >
> > > >> > > > > > Rob,
> > > >> > > > > >
> > > >> > > > > > thanks for the explanation, do you have a sample
> > > >> > > > > --system-properties-file?
> > > >> > > > > > that i can take a look?
> > > >> > > > > >
> > > >> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> > > >> error, i
> > > >> > > am
> > > >> > > > > not
> > > >> > > > > > a developer, i am ops guy and i dont want to change the
> > > existing
> > > >> > code
> > > >> > > > but
> > > >> > > > > > wanted to make java qpid work. This is the error i am
> > getting
> > > >> with
> > > >> > > > > 6.0.1v..
> > > >> > > > > >
> > > >> > > > > > 2016-04-07 22:32:36,726
> > > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > ERROR
> > > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> > Error
> > > >> > > > connecting
> > > >> > > > > > to Connection : 0 Host = qphost01
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > >> > > > > > error Unknown virtualhost '' username=null
> > > >> > > > > > 2016-04-07 22:32:36,731
> > > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > > ERROR
> > > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> > Error
> > > >> > > > connecting
> > > >> > > > > > to Connection : 0 Host = qphost01
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > >> > > > > > error Client and broker have no SASL mechanisms in common.
> > > >> Broker
> > > >> > > > allows
> > > >> > > > > :
> > > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> > > >> > CRAM-MD5,
> > > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> > > PLAIN
> > > >> > > > > > username=guest
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > > > And here is my sasl mechanism.
> > > >> > > > > >
> > > >> > > > > > curl -s 0:10001/service/sasl
> > > >> > > > > > {
> > > >> > > > > >   "user" : "ANONYMOUS",
> > > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > >> > > > > >
> > > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is
> not
> > > >> > working.
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > > > Thanks,
> > > >> > > > > > Ram
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > > >
> > > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > > >> > rob.j.godfrey@gmail.com
> > > >> > > >
> > > >> > > > > > wrote:
> > > >> > > > > >
> > > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > >> > > > > rammohanganap@gmail.com
> > > >> > > > > > >
> > > >> > > > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > > > Rob,
> > > >> > > > > > > >
> > > >> > > > > > > > Does v6.0.1 support Anonymous or no authentication?
> last
> > > >> time
> > > >> > > when
> > > >> > > > i
> > > >> > > > > > try
> > > >> > > > > > > to
> > > >> > > > > > > > use .32 it was not working with Anonymous.
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are
> you
> > > >> using
> > > >> > > > (0-9-1,
> > > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should
> work
> > > on
> > > >> > 0.32
> > > >> > > > > > however
> > > >> > > > > > > I think in 0.32 the "no authentication layer at all"
> > option
> > > >> for
> > > >> > > AMQP
> > > >> > > > > 1.0
> > > >> > > > > > > probably didn't work (this is different to an
> > authentication
> > > >> > layer
> > > >> > > > > which
> > > >> > > > > > > allows anonymous).
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > Sorry i was not clear in my previous email, i was
> taking
> > > >> about
> > > >> > > > > > properties
> > > >> > > > > > > > file not broker storage format, the use case is if i
> > > wanted
> > > >> to
> > > >> > > > > override
> > > >> > > > > > > > some of these properties and i have my own custom
> > > >> tool/script
> > > >> > > that
> > > >> > > > > > goes
> > > >> > > > > > > > through the properties files and replace with the
> > > override i
> > > >> > > > defined,
> > > >> > > > > > so
> > > >> > > > > > > i
> > > >> > > > > > > > want to use the same tool/script for qpid config as
> > well.
> > > My
> > > >> > tool
> > > >> > > > > only
> > > >> > > > > > > > support key:value but if we have json array it wont
> > work.
> > > So
> > > >> > if i
> > > >> > > > > want
> > > >> > > > > > to
> > > >> > > > > > > > pass overrides as "-prop"  command line arguments what
> > are
> > > >> the
> > > >> > > > > > properties
> > > >> > > > > > > > that java qpid support as command line?
> > > >> > > > > > > >
> > > >> > > > > > > > Below if my config, is it possible to pass all these
> as
> > > >> command
> > > >> > > > line
> > > >> > > > > > > > arguments?
> > > >> > > > > > > >
> > > >> > > > > > > > {
> > > >> > > > > > > >   "authenticationproviders" : [ {
> > > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > >> > > > > > > >     "name" : "Anonymous",
> > > >> > > > > > > >     "type" : "Anonymous"
> > > >> > > > > > > >   } ],
> > > >> > > > > > > >   "defaultVirtualHost" : "default",
> > > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > >> > > > > > > >   "modelVersion" : "1.3",
> > > >> > > > > > > >   "name" : "Broker",
> > > >> > > > > > > >   "plugins" : [ {
> > > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > >> > > > > > > >     "name" : "httpManagement",
> > > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > >> > > > > > > >   }, {
> > > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > >> > > > > > > >     "name" : "jmxManagement",
> > > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > >> > > > > > > >   } ],
> > > >> > > > > > > >   "ports" : [ {
> > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > >> > > > > > > >     "port" : "9099",
> > > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > >> > > > > > > >   }, {
> > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > > >> > > > > > > >     "port" : "8999",
> > > >> > > > > > > >     "protocols" : [ "RMI" ]
> > > >> > > > > > > >   }, {
> > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > >> > > > > > > >     "name" : "AMQP",
> > > >> > > > > > > >     "port" : "5672"
> > > >> > > > > > > >   }, {
> > > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > >> > > > > > > >     "name" : "HTTP",
> > > >> > > > > > > >     "port" : "10001",
> > > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > > >> > > > > > > >   } ],
> > > >> > > > > > > >   "storeVersion" : 1,
> > > >> > > > > > > >   "virtualhosts" : [ {
> > > >> > > > > > > >     "createdTime" : 1439482250329,
> > > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > >> > > > > > > >     "name" : "default",
> > > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > >> > > > > > > >     "storeType" : "DERBY",
> > > >> > > > > > > >     "type" : "STANDARD"
> > > >> > > > > > > >   } ]
> > > >> > > > > > > > }
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > In 6.0 you can replace any value in the JSON with a
> > > reference
> > > >> to
> > > >> > a
> > > >> > > > > > > property, for example
> > > >> > > > > > >
> > > >> > > > > > > "name" : "${myPortName}",
> > > >> > > > > > >
> > > >> > > > > > > this will then interpolate the value from the property,
> so
> > > if
> > > >> you
> > > >> > > set
> > > >> > > > > the
> > > >> > > > > > > property myPortName to "RobsPort" that will be the value
> > > used.
> > > >> > > Type
> > > >> > > > > > > conversions will be performed, so if the required value
> is
> > > an
> > > >> > > integer
> > > >> > > > > it
> > > >> > > > > > > will convert to an integer.  If the value required is a
> > list
> > > >> then
> > > >> > > you
> > > >> > > > > can
> > > >> > > > > > > use a String representation of a list in Json format.
> > > >> > > > > > >
> > > >> > > > > > > You can set the properties individually, or you can pass
> > in
> > > a
> > > >> > > > > properties
> > > >> > > > > > > file using -props or --system-properties-file (so if you
> > > have
> > > >> a
> > > >> > > > > > properties
> > > >> > > > > > > file already maybe you can just pass this in).
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > > One more question or may be clarification is,
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > > *-sp (--store-path) is the path of config file that
> will
> > > >> > > generated
> > > >> > > > by
> > > >> > > > > > > qpidd
> > > >> > > > > > > > from the initial config right? what is the use of
> > > >> store-path?*
> > > >> > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > > That is correct.  Some people just like to have config
> > files
> > > >> in a
> > > >> > > > > > > non-default location :-)
> > > >> > > > > > >
> > > >> > > > > > > Hope this helps,
> > > >> > > > > > > Rob
> > > >> > > > > > >
> > > >> > > > > > >
> > > >> > > > > > > > *Thanks,*
> > > >> > > > > > > >
> > > >> > > > > > > > *Ram*
> > > >> > > > > > > >
> > > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > >> > > > rob.j.godfrey@gmail.com
> > > >> > > > > >
> > > >> > > > > > > > wrote:
> > > >> > > > > > > >
> > > >> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
> > > >> updating
> > > >> > to
> > > >> > > > > v6.0.1
> > > >> > > > > > > if
> > > >> > > > > > > > > you can.
> > > >> > > > > > > > >
> > > >> > > > > > > > > Secondly I'm not sure I understand your question -
> are
> > > you
> > > >> > > asking
> > > >> > > > > > about
> > > >> > > > > > > > > overriding particular properties, or the storage
> > format
> > > >> for
> > > >> > the
> > > >> > > > > > broker
> > > >> > > > > > > > > configuration - these are two different things.  In
> > > terms
> > > >> of
> > > >> > > > > > > properties /
> > > >> > > > > > > > > context overrides this can be specified using a
> > > properties
> > > >> > file
> > > >> > > > (at
> > > >> > > > > > > least
> > > >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
> > > >> terms of
> > > >> > > the
> > > >> > > > > > > > > configuration, JSON is currently the only text based
> > > >> format
> > > >> > > > > > supported.
> > > >> > > > > > > > You
> > > >> > > > > > > > > can use a database for the broker config storage,
> > there
> > > >> are
> > > >> > > built
> > > >> > > > > in
> > > >> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC
> > > config
> > > >> > > stores.
> > > >> > > > > > > > >
> > > >> > > > > > > > > May I ask what advantage you would get by using YAML
> > or
> > > >> > > > properties
> > > >> > > > > > > files
> > > >> > > > > > > > > instead of JSON?
> > > >> > > > > > > > >
> > > >> > > > > > > > > -- Rob
> > > >> > > > > > > > >
> > > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > >> > > > > > > rammohanganap@gmail.com
> > > >> > > > > > > > >
> > > >> > > > > > > > > wrote:
> > > >> > > > > > > > >
> > > >> > > > > > > > > > Hi,
> > > >> > > > > > > > > >
> > > >> > > > > > > > > > Is there any way to start qpid-java-0.28 broker
> > using
> > > >> > > > .properties
> > > >> > > > > > > file
> > > >> > > > > > > > or
> > > >> > > > > > > > > > .xml or .yaml file instead of .json file? or what
> > are
> > > >> the
> > > >> > > other
> > > >> > > > > > ways
> > > >> > > > > > > to
> > > >> > > > > > > > > > pass override properties instead of JSON config
> > file?
> > > >> > > > > > > > > >
> > > >> > > > > > > > > >
> > > >> > > > > > > > > > Thanks,
> > > >> > > > > > > > > > Ram
> > > >> > > > > > > > > >
> > > >> > > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I have tried with virtualhost config that you have provided but i am still
getting connection error. I would like to make it work with 6.0* version
but at this point i need 0.28 version to make working, so if you can help
me to configure log location in 0.28 that would unblock me for now.

Thanks,
Ram

2016-04-11 21:40:01,845  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
localhost
url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
Not Connected. error Client and broker have no SASL mechanisms in common.
Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
username=guest

2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
ConnectionImpl.verifyQueueAndExchange() : Error binding queue null
2016-04-11 21:40:01,846  DelayedTaskExecutor-1 ERROR c.a.a.q.QueueBuilder -
QueueBuilder$1.execute() : Attempt to create exchange/queue
ax-ex-mxgroup001/ax-q-mxgroup001 failed.

2016-04-11 21:40:01,861  DelayedTaskExecutor-1 INFO  c.a.a.q.QueueBuilder -
QueueBuilder$1.execute() : Creating exchange/queue
ax-ex-mxgroup001-dl/ax-q-mxgroup001-dl

2016-04-11 21:40:01,867  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
localhost
url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
Not Connected. error Unknown virtualhost '' username=null

2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
ConnectionImpl.openConnection() : Error connecting to Connection : 0 Host =
localhost
url=amqp://guest:********@/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='PLAIN''
Not Connected. error Client and broker have no SASL mechanisms in common.
Broker allows : ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
CRAM-MD5, AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
username=guest

2016-04-11 21:40:01,870  DelayedTaskExecutor-1 ERROR S.QUEUECLIENTSERVICE -
ConnectionImpl.verifyQueueAndExchange() : Error binding queue null

On Sun, Apr 10, 2016 at 3:11 PM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> in 6.0.x the log file location can be changed directly through the config
> json - I really think we should first concentrate on getting that working
> for you.
>
> I've verified that using the 6.0.x client and broker with a URL similar to
> the one in your log file works for ANONYMOUS.
>
> Looking at your error output again I notice that there seem actually to be
> two connection attempts, the first ends with:
>
> error Unknown virtualhost '' username=null
>
> Then we see the second failure with the "PLAIN" error.  That first error
> indicate that ANONYMOUS log in was actually successful, however you were
> the running into the fact that no virtualhost is mapped to the empty
> string.  That suggests to me that you don't have any virtualhostaliases
> defined in your (AMQP) port config. I'd suggest that it would make sense to
> craft an initial config based on the default initial config for 6.0.x which
> will include a virtualhostaliases section in the AMQP port which looks
> like:
>
> "virtualhostaliases" : [ {
>    "name" : "nameAlias",
>    "type" : "nameAlias"
> }, {
>     "name" : "defaultAlias",
>     "type" : "defaultAlias"
> }, {
>     "name" : "hostnameAlias",
>     "type" : "hostnameAlias"
> } ]
>
>
> Let me know if this works for you, then we can look at some of your other
> questions.
>
> -- Rob
>
>
> On 9 April 2016 at 00:31, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Also how do i pass logfile location as -prop as commandline argument? or
> > how do i change default log file location i know we can update log4j.xml
> > but is there any other way?
> >
> > Ram
> >
> > On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> > rammohanganap@gmail.com> wrote:
> >
> > > Rob,
> > >
> > > I tried passing properties file as argument but it didnt like it. Does
> it
> > > support in 0.28v?
> > >
> > >
> > > ./qpid-server -icp ../etc/initial_config.json -prop
> > ../etc/qpidd.properties
> > >
> > > System Properties set to -Damqj.logging.level=info
> > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > Using QPID_CLASSPATH
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> -XX:+UseConcMarkSweepGC
> > > -XX:+HeapDumpOnOutOfMemoryError
> > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > > Exception during startup: java.lang.IllegalArgumentException:
> > > Configuration property argument is not of the format name=value:
> > > ../etc/qpidd.properties
> > > java.lang.IllegalArgumentException: Configuration property argument is
> > not
> > > of the format name=value: ../etc/qpidd.properties
> > >     at org.apache.qpid.server.Main.execute(Main.java:226)
> > >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> > >     at org.apache.qpid.server.Main.main(Main.java:125)
> > >
> > >
> > > ./qpid-server -icp ../etc/initial_config.json -props
> > > ../etc/qpidd.properties
> > >
> > > System Properties set to -Damqj.logging.level=info
> > > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > > Using QPID_CLASSPATH
> > >
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC
> -XX:+UseConcMarkSweepGC
> > > -XX:+HeapDumpOnOutOfMemoryError
> > > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > >
> > >
> > >
> > >
> > > *Error: Unrecognized option: -props*
> > > How do i change this block from initial configuration to use Anonymous?
> > >
> > > {
> > >   "name": "Broker",
> > >   "storeVersion": 1,
> > >   "modelVersion": "1.2",
> > >   "defaultVirtualHost" : "default",
> > >   "authenticationproviders" : [ {
> > >     "name" : "passwordFile",
> > >     "type" : "PlainPasswordFile",
> > >     "path" : "${qpid.home_dir}/etc/passwd",
> > >     "preferencesproviders" : [{
> > >         "name": "fileSystemPreferences",
> > >         "type": "FileSystemPreferences",
> > >         "path" : "${qpid.work_dir}/user.preferences.json"
> > >     }]
> > >   } ],
> > >
> > > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > >> Hi Ram,
> > >>
> > >> so one approach to this would be to define you authentication
> providers
> > up
> > >> from in your config file, so you have an an Anonymous provider named
> > >> "anonymous" and a password file provider named "passwordFile" or
> > >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> > >> parameterise the value they have for the name of the auth provider
> they
> > >> are
> > >> using.  So your initial JSON config file could contain something like:
> > >>
> > >> "ports" : [  {
> > >>   "name" : "AMQP",
> > >>   "port" : "${qpid.amqp_port}",
> > >>   "authenticationProvider" :
> "${qpid.amqp_port_authenticationProvider}",
> > >>
> > >>
> > >> and then you could override which provider to use at runtime by
> setting
> > >> the
> > >> property qpid.amqp_port_authenticationProvider to anonymous or
> > >> passwordFile
> > >> (or the name of any other authentication provider that is defined in
> > your
> > >> JSON config.
> > >>
> > >> The only thing you can't do with properties is to add new entities
> into
> > >> the
> > >> config - that you have to do either by editing the file, or by using
> the
> > >> REST api to modify the broker configuration while it is running.
> > >>
> > >> Hope this helps,
> > >> Rob
> > >>
> > >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> > rammohanganap@gmail.com>
> > >> wrote:
> > >>
> > >> > Rob,
> > >> >
> > >> > Thanks for detailed explanation, i wanted to restart with the
> changed
> > >> > properties if any for example today i have Anonymous SASL and later
> i
> > >> may
> > >> > want to use password file. How do i pass SASL mechanism as -prop?
> > >> >
> > >> > Thanks,
> > >> > Ram
> > >> >
> > >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <
> rob.j.godfrey@gmail.com>
> > >> > wrote:
> > >> >
> > >> > > Hi Ram,
> > >> > >
> > >> > > The initial config file is only used when there is no broker
> config
> > -
> > >> the
> > >> > > idea is that it is used to populate the broker config on first
> > >> startup.
> > >> > > Once there is a broker config file then this is used (since it may
> > >> have
> > >> > > been updated by creating or modifying entities through the
> > management
> > >> > > functions).  The broker ships with a default initial config which
> is
> > >> > > contained within its jar files, however we allow people to provide
> > >> there
> > >> > > own.  Records in the config file a copied verbatim into the config
> > >> store
> > >> > -
> > >> > > the only difference being that ids are generated for each entity.
> > The
> > >> > > interpolation from property names to values is done each time the
> > >> broker
> > >> > > reads the config.  If the broker finds there is config in the
> store
> > >> path
> > >> > > then it completely ignores the initial config - it does not
> examine
> > >> any
> > >> > > differences.
> > >> > >
> > >> > > Are you looking to start a completely fresh broker each time, or
> > >> merely
> > >> > to
> > >> > > be able to change certain properties (such as port numbers) on
> each
> > >> > > restart?  If you do not want to retain any changes to the broker
> > >> > > configuration made while the broker is actually running, then you
> > >> could
> > >> > use
> > >> > > a "memory" config store rather than a Json one.  If you want to
> > retain
> > >> > any
> > >> > > changes made through management, but desire the ability to change
> > >> certain
> > >> > > properties (like ports) on each startup, then you don't need to
> > worry
> > >> > about
> > >> > > the fact that the initial configuration is only loaded the first
> > time
> > >> -
> > >> > you
> > >> > > just need to pass in the property values you want on startup.
> > >> > >
> > >> > > In terms of an example system properties file...  The default
> > >> > > initial-config.json defines the amqp port to be ${qpid.amqp_port}
> > and
> > >> the
> > >> > > http port to run on ${qpid.http_port}, so if I create a properties
> > >> file
> > >> > > called rob.properties which contains
> > >> > >
> > >> > > qpid.http_port=8888
> > >> > > qpid.amqp_port=5555
> > >> > >
> > >> > > and then run qpid with the argument -props rob.properties then I
> > >> get...
> > >> > >
> > >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > >> > > [Broker] MNG-1001 : Web Management Startup
> > >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> > >> > >
> > >> > >
> > >> > > So, when you use your initial or stored config you just need to
> > ensure
> > >> > all
> > >> > > the variables you use in your config are set in your properties
> file
> > >> > (some
> > >> > > properties have defaults within the code if they are not otherwise
> > >> set -
> > >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> > elsewhere).
> > >> > >
> > >> > > Hope this helps,
> > >> > > Rob
> > >> > >
> > >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> > >> rammohanganap@gmail.com
> > >> > >
> > >> > > wrote:
> > >> > >
> > >> > > > Rob,
> > >> > > >
> > >> > > > Thank you, one more question on -icp and -sp, so what if i have
> > >> updated
> > >> > > icp
> > >> > > > with some property change  and restarted broker with icp (every
> > >> time i
> > >> > > > restart broker i am using initial config
> > >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right
> > way
> > >> or
> > >> > > > not), does it automatically update config file in -sp? i my case
> > it
> > >> did
> > >> > > not
> > >> > > > updated the config file in store-path upon restart. What will
> > >> happened
> > >> > > if i
> > >> > > > have differences in initial config file that i use to start
> broker
> > >> and
> > >> > > the
> > >> > > > config file under store-path?
> > >> > > >
> > >> > > > Thanks,
> > >> > > > Ram
> > >> > > >
> > >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> > >> rob.j.godfrey@gmail.com>
> > >> > > > wrote:
> > >> > > >
> > >> > > > > This looks like a client error to me... the line which says:
> > >> > > > >
> > >> > > > >  Client restricted itself to : PLAIN
> > >> > > > >
> > >> > > > > Out of interest what happens if you remove the
> > >> > &sasl_mechs='ANONYMOUS'
> > >> > > > from
> > >> > > > > your connection URL?  Without any sort of restriction I'd
> expect
> > >> the
> > >> > > > client
> > >> > > > > to do the right thing.
> > >> > > > >
> > >> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
> > >> look
> > >> > in
> > >> > > > the
> > >> > > > > morning.
> > >> > > > >
> > >> > > > > -- Rob
> > >> > > > >
> > >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > >> > > rammohanganap@gmail.com
> > >> > > > >
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > > > Rob,
> > >> > > > > >
> > >> > > > > > thanks for the explanation, do you have a sample
> > >> > > > > --system-properties-file?
> > >> > > > > > that i can take a look?
> > >> > > > > >
> > >> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> > >> error, i
> > >> > > am
> > >> > > > > not
> > >> > > > > > a developer, i am ops guy and i dont want to change the
> > existing
> > >> > code
> > >> > > > but
> > >> > > > > > wanted to make java qpid work. This is the error i am
> getting
> > >> with
> > >> > > > > 6.0.1v..
> > >> > > > > >
> > >> > > > > > 2016-04-07 22:32:36,726
> > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > ERROR
> > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> Error
> > >> > > > connecting
> > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > error Unknown virtualhost '' username=null
> > >> > > > > > 2016-04-07 22:32:36,731
> > >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> > ERROR
> > >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() :
> Error
> > >> > > > connecting
> > >> > > > > > to Connection : 0 Host = qphost01
> > >> > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > >> > > > > > error Client and broker have no SASL mechanisms in common.
> > >> Broker
> > >> > > > allows
> > >> > > > > :
> > >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> > >> > CRAM-MD5,
> > >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> > PLAIN
> > >> > > > > > username=guest
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > And here is my sasl mechanism.
> > >> > > > > >
> > >> > > > > > curl -s 0:10001/service/sasl
> > >> > > > > > {
> > >> > > > > >   "user" : "ANONYMOUS",
> > >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > >> > > > > >
> > >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> > >> > working.
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > Thanks,
> > >> > > > > > Ram
> > >> > > > > >
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > >> > rob.j.godfrey@gmail.com
> > >> > > >
> > >> > > > > > wrote:
> > >> > > > > >
> > >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > >> > > > > rammohanganap@gmail.com
> > >> > > > > > >
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > > > Rob,
> > >> > > > > > > >
> > >> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
> > >> time
> > >> > > when
> > >> > > > i
> > >> > > > > > try
> > >> > > > > > > to
> > >> > > > > > > > use .32 it was not working with Anonymous.
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
> > >> using
> > >> > > > (0-9-1,
> > >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work
> > on
> > >> > 0.32
> > >> > > > > > however
> > >> > > > > > > I think in 0.32 the "no authentication layer at all"
> option
> > >> for
> > >> > > AMQP
> > >> > > > > 1.0
> > >> > > > > > > probably didn't work (this is different to an
> authentication
> > >> > layer
> > >> > > > > which
> > >> > > > > > > allows anonymous).
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > >
> > >> > > > > > > > Sorry i was not clear in my previous email, i was taking
> > >> about
> > >> > > > > > properties
> > >> > > > > > > > file not broker storage format, the use case is if i
> > wanted
> > >> to
> > >> > > > > override
> > >> > > > > > > > some of these properties and i have my own custom
> > >> tool/script
> > >> > > that
> > >> > > > > > goes
> > >> > > > > > > > through the properties files and replace with the
> > override i
> > >> > > > defined,
> > >> > > > > > so
> > >> > > > > > > i
> > >> > > > > > > > want to use the same tool/script for qpid config as
> well.
> > My
> > >> > tool
> > >> > > > > only
> > >> > > > > > > > support key:value but if we have json array it wont
> work.
> > So
> > >> > if i
> > >> > > > > want
> > >> > > > > > to
> > >> > > > > > > > pass overrides as "-prop"  command line arguments what
> are
> > >> the
> > >> > > > > > properties
> > >> > > > > > > > that java qpid support as command line?
> > >> > > > > > > >
> > >> > > > > > > > Below if my config, is it possible to pass all these as
> > >> command
> > >> > > > line
> > >> > > > > > > > arguments?
> > >> > > > > > > >
> > >> > > > > > > > {
> > >> > > > > > > >   "authenticationproviders" : [ {
> > >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > >> > > > > > > >     "name" : "Anonymous",
> > >> > > > > > > >     "type" : "Anonymous"
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "defaultVirtualHost" : "default",
> > >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > >> > > > > > > >   "modelVersion" : "1.3",
> > >> > > > > > > >   "name" : "Broker",
> > >> > > > > > > >   "plugins" : [ {
> > >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > >> > > > > > > >     "name" : "httpManagement",
> > >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > >> > > > > > > >     "name" : "jmxManagement",
> > >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "ports" : [ {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > >> > > > > > > >     "name" : "JMX_CONNECTOR",
> > >> > > > > > > >     "port" : "9099",
> > >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > >> > > > > > > >     "name" : "RMI_REGISTRY",
> > >> > > > > > > >     "port" : "8999",
> > >> > > > > > > >     "protocols" : [ "RMI" ]
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > >> > > > > > > >     "name" : "AMQP",
> > >> > > > > > > >     "port" : "5672"
> > >> > > > > > > >   }, {
> > >> > > > > > > >     "authenticationProvider" : "Anonymous",
> > >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > >> > > > > > > >     "name" : "HTTP",
> > >> > > > > > > >     "port" : "10001",
> > >> > > > > > > >     "protocols" : [ "HTTP" ]
> > >> > > > > > > >   } ],
> > >> > > > > > > >   "storeVersion" : 1,
> > >> > > > > > > >   "virtualhosts" : [ {
> > >> > > > > > > >     "createdTime" : 1439482250329,
> > >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > >> > > > > > > >     "name" : "default",
> > >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > >> > > > > > > >     "storeType" : "DERBY",
> > >> > > > > > > >     "type" : "STANDARD"
> > >> > > > > > > >   } ]
> > >> > > > > > > > }
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > In 6.0 you can replace any value in the JSON with a
> > reference
> > >> to
> > >> > a
> > >> > > > > > > property, for example
> > >> > > > > > >
> > >> > > > > > > "name" : "${myPortName}",
> > >> > > > > > >
> > >> > > > > > > this will then interpolate the value from the property, so
> > if
> > >> you
> > >> > > set
> > >> > > > > the
> > >> > > > > > > property myPortName to "RobsPort" that will be the value
> > used.
> > >> > > Type
> > >> > > > > > > conversions will be performed, so if the required value is
> > an
> > >> > > integer
> > >> > > > > it
> > >> > > > > > > will convert to an integer.  If the value required is a
> list
> > >> then
> > >> > > you
> > >> > > > > can
> > >> > > > > > > use a String representation of a list in Json format.
> > >> > > > > > >
> > >> > > > > > > You can set the properties individually, or you can pass
> in
> > a
> > >> > > > > properties
> > >> > > > > > > file using -props or --system-properties-file (so if you
> > have
> > >> a
> > >> > > > > > properties
> > >> > > > > > > file already maybe you can just pass this in).
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > > One more question or may be clarification is,
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > > *-sp (--store-path) is the path of config file that will
> > >> > > generated
> > >> > > > by
> > >> > > > > > > qpidd
> > >> > > > > > > > from the initial config right? what is the use of
> > >> store-path?*
> > >> > > > > > > >
> > >> > > > > > > >
> > >> > > > > > > That is correct.  Some people just like to have config
> files
> > >> in a
> > >> > > > > > > non-default location :-)
> > >> > > > > > >
> > >> > > > > > > Hope this helps,
> > >> > > > > > > Rob
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > > *Thanks,*
> > >> > > > > > > >
> > >> > > > > > > > *Ram*
> > >> > > > > > > >
> > >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > >> > > > rob.j.godfrey@gmail.com
> > >> > > > > >
> > >> > > > > > > > wrote:
> > >> > > > > > > >
> > >> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
> > >> updating
> > >> > to
> > >> > > > > v6.0.1
> > >> > > > > > > if
> > >> > > > > > > > > you can.
> > >> > > > > > > > >
> > >> > > > > > > > > Secondly I'm not sure I understand your question - are
> > you
> > >> > > asking
> > >> > > > > > about
> > >> > > > > > > > > overriding particular properties, or the storage
> format
> > >> for
> > >> > the
> > >> > > > > > broker
> > >> > > > > > > > > configuration - these are two different things.  In
> > terms
> > >> of
> > >> > > > > > > properties /
> > >> > > > > > > > > context overrides this can be specified using a
> > properties
> > >> > file
> > >> > > > (at
> > >> > > > > > > least
> > >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
> > >> terms of
> > >> > > the
> > >> > > > > > > > > configuration, JSON is currently the only text based
> > >> format
> > >> > > > > > supported.
> > >> > > > > > > > You
> > >> > > > > > > > > can use a database for the broker config storage,
> there
> > >> are
> > >> > > built
> > >> > > > > in
> > >> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC
> > config
> > >> > > stores.
> > >> > > > > > > > >
> > >> > > > > > > > > May I ask what advantage you would get by using YAML
> or
> > >> > > > properties
> > >> > > > > > > files
> > >> > > > > > > > > instead of JSON?
> > >> > > > > > > > >
> > >> > > > > > > > > -- Rob
> > >> > > > > > > > >
> > >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > >> > > > > > > rammohanganap@gmail.com
> > >> > > > > > > > >
> > >> > > > > > > > > wrote:
> > >> > > > > > > > >
> > >> > > > > > > > > > Hi,
> > >> > > > > > > > > >
> > >> > > > > > > > > > Is there any way to start qpid-java-0.28 broker
> using
> > >> > > > .properties
> > >> > > > > > > file
> > >> > > > > > > > or
> > >> > > > > > > > > > .xml or .yaml file instead of .json file? or what
> are
> > >> the
> > >> > > other
> > >> > > > > > ways
> > >> > > > > > > to
> > >> > > > > > > > > > pass override properties instead of JSON config
> file?
> > >> > > > > > > > > >
> > >> > > > > > > > > >
> > >> > > > > > > > > > Thanks,
> > >> > > > > > > > > > Ram
> > >> > > > > > > > > >
> > >> > > > > > > > >
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

in 6.0.x the log file location can be changed directly through the config
json - I really think we should first concentrate on getting that working
for you.

I've verified that using the 6.0.x client and broker with a URL similar to
the one in your log file works for ANONYMOUS.

Looking at your error output again I notice that there seem actually to be
two connection attempts, the first ends with:

error Unknown virtualhost '' username=null

Then we see the second failure with the "PLAIN" error.  That first error
indicate that ANONYMOUS log in was actually successful, however you were
the running into the fact that no virtualhost is mapped to the empty
string.  That suggests to me that you don't have any virtualhostaliases
defined in your (AMQP) port config. I'd suggest that it would make sense to
craft an initial config based on the default initial config for 6.0.x which
will include a virtualhostaliases section in the AMQP port which looks like:

"virtualhostaliases" : [ {
   "name" : "nameAlias",
   "type" : "nameAlias"
}, {
    "name" : "defaultAlias",
    "type" : "defaultAlias"
}, {
    "name" : "hostnameAlias",
    "type" : "hostnameAlias"
} ]


Let me know if this works for you, then we can look at some of your other
questions.

-- Rob


On 9 April 2016 at 00:31, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> Also how do i pass logfile location as -prop as commandline argument? or
> how do i change default log file location i know we can update log4j.xml
> but is there any other way?
>
> Ram
>
> On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
> > Rob,
> >
> > I tried passing properties file as argument but it didnt like it. Does it
> > support in 0.28v?
> >
> >
> > ./qpid-server -icp ../etc/initial_config.json -prop
> ../etc/qpidd.properties
> >
> > System Properties set to -Damqj.logging.level=info
> > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > Using QPID_CLASSPATH
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> > -XX:+HeapDumpOnOutOfMemoryError
> > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> > Exception during startup: java.lang.IllegalArgumentException:
> > Configuration property argument is not of the format name=value:
> > ../etc/qpidd.properties
> > java.lang.IllegalArgumentException: Configuration property argument is
> not
> > of the format name=value: ../etc/qpidd.properties
> >     at org.apache.qpid.server.Main.execute(Main.java:226)
> >     at org.apache.qpid.server.Main.<init>(Main.java:134)
> >     at org.apache.qpid.server.Main.main(Main.java:125)
> >
> >
> > ./qpid-server -icp ../etc/initial_config.json -props
> > ../etc/qpidd.properties
> >
> > System Properties set to -Damqj.logging.level=info
> > -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> > QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> > Using QPID_CLASSPATH
> >
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> > Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> > -XX:+HeapDumpOnOutOfMemoryError
> > Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> >
> >
> >
> >
> > *Error: Unrecognized option: -props*
> > How do i change this block from initial configuration to use Anonymous?
> >
> > {
> >   "name": "Broker",
> >   "storeVersion": 1,
> >   "modelVersion": "1.2",
> >   "defaultVirtualHost" : "default",
> >   "authenticationproviders" : [ {
> >     "name" : "passwordFile",
> >     "type" : "PlainPasswordFile",
> >     "path" : "${qpid.home_dir}/etc/passwd",
> >     "preferencesproviders" : [{
> >         "name": "fileSystemPreferences",
> >         "type": "FileSystemPreferences",
> >         "path" : "${qpid.work_dir}/user.preferences.json"
> >     }]
> >   } ],
> >
> > On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> >> Hi Ram,
> >>
> >> so one approach to this would be to define you authentication providers
> up
> >> from in your config file, so you have an an Anonymous provider named
> >> "anonymous" and a password file provider named "passwordFile" or
> >> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> >> parameterise the value they have for the name of the auth provider they
> >> are
> >> using.  So your initial JSON config file could contain something like:
> >>
> >> "ports" : [  {
> >>   "name" : "AMQP",
> >>   "port" : "${qpid.amqp_port}",
> >>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
> >>
> >>
> >> and then you could override which provider to use at runtime by setting
> >> the
> >> property qpid.amqp_port_authenticationProvider to anonymous or
> >> passwordFile
> >> (or the name of any other authentication provider that is defined in
> your
> >> JSON config.
> >>
> >> The only thing you can't do with properties is to add new entities into
> >> the
> >> config - that you have to do either by editing the file, or by using the
> >> REST api to modify the broker configuration while it is running.
> >>
> >> Hope this helps,
> >> Rob
> >>
> >> On 8 April 2016 at 18:04, rammohan ganapavarapu <
> rammohanganap@gmail.com>
> >> wrote:
> >>
> >> > Rob,
> >> >
> >> > Thanks for detailed explanation, i wanted to restart with the changed
> >> > properties if any for example today i have Anonymous SASL and later i
> >> may
> >> > want to use password file. How do i pass SASL mechanism as -prop?
> >> >
> >> > Thanks,
> >> > Ram
> >> >
> >> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
> >> > wrote:
> >> >
> >> > > Hi Ram,
> >> > >
> >> > > The initial config file is only used when there is no broker config
> -
> >> the
> >> > > idea is that it is used to populate the broker config on first
> >> startup.
> >> > > Once there is a broker config file then this is used (since it may
> >> have
> >> > > been updated by creating or modifying entities through the
> management
> >> > > functions).  The broker ships with a default initial config which is
> >> > > contained within its jar files, however we allow people to provide
> >> there
> >> > > own.  Records in the config file a copied verbatim into the config
> >> store
> >> > -
> >> > > the only difference being that ids are generated for each entity.
> The
> >> > > interpolation from property names to values is done each time the
> >> broker
> >> > > reads the config.  If the broker finds there is config in the store
> >> path
> >> > > then it completely ignores the initial config - it does not examine
> >> any
> >> > > differences.
> >> > >
> >> > > Are you looking to start a completely fresh broker each time, or
> >> merely
> >> > to
> >> > > be able to change certain properties (such as port numbers) on each
> >> > > restart?  If you do not want to retain any changes to the broker
> >> > > configuration made while the broker is actually running, then you
> >> could
> >> > use
> >> > > a "memory" config store rather than a Json one.  If you want to
> retain
> >> > any
> >> > > changes made through management, but desire the ability to change
> >> certain
> >> > > properties (like ports) on each startup, then you don't need to
> worry
> >> > about
> >> > > the fact that the initial configuration is only loaded the first
> time
> >> -
> >> > you
> >> > > just need to pass in the property values you want on startup.
> >> > >
> >> > > In terms of an example system properties file...  The default
> >> > > initial-config.json defines the amqp port to be ${qpid.amqp_port}
> and
> >> the
> >> > > http port to run on ${qpid.http_port}, so if I create a properties
> >> file
> >> > > called rob.properties which contains
> >> > >
> >> > > qpid.http_port=8888
> >> > > qpid.amqp_port=5555
> >> > >
> >> > > and then run qpid with the argument -props rob.properties then I
> >> get...
> >> > >
> >> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> >> > > [Broker] MNG-1001 : Web Management Startup
> >> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> >> > >
> >> > >
> >> > > So, when you use your initial or stored config you just need to
> ensure
> >> > all
> >> > > the variables you use in your config are set in your properties file
> >> > (some
> >> > > properties have defaults within the code if they are not otherwise
> >> set -
> >> > > e.g. qpid.amqp_port will default to 5672 if it is not set
> elsewhere).
> >> > >
> >> > > Hope this helps,
> >> > > Rob
> >> > >
> >> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> >> rammohanganap@gmail.com
> >> > >
> >> > > wrote:
> >> > >
> >> > > > Rob,
> >> > > >
> >> > > > Thank you, one more question on -icp and -sp, so what if i have
> >> updated
> >> > > icp
> >> > > > with some property change  and restarted broker with icp (every
> >> time i
> >> > > > restart broker i am using initial config
> >> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> >> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right
> way
> >> or
> >> > > > not), does it automatically update config file in -sp? i my case
> it
> >> did
> >> > > not
> >> > > > updated the config file in store-path upon restart. What will
> >> happened
> >> > > if i
> >> > > > have differences in initial config file that i use to start broker
> >> and
> >> > > the
> >> > > > config file under store-path?
> >> > > >
> >> > > > Thanks,
> >> > > > Ram
> >> > > >
> >> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
> >> rob.j.godfrey@gmail.com>
> >> > > > wrote:
> >> > > >
> >> > > > > This looks like a client error to me... the line which says:
> >> > > > >
> >> > > > >  Client restricted itself to : PLAIN
> >> > > > >
> >> > > > > Out of interest what happens if you remove the
> >> > &sasl_mechs='ANONYMOUS'
> >> > > > from
> >> > > > > your connection URL?  Without any sort of restriction I'd expect
> >> the
> >> > > > client
> >> > > > > to do the right thing.
> >> > > > >
> >> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
> >> look
> >> > in
> >> > > > the
> >> > > > > morning.
> >> > > > >
> >> > > > > -- Rob
> >> > > > >
> >> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> >> > > rammohanganap@gmail.com
> >> > > > >
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Rob,
> >> > > > > >
> >> > > > > > thanks for the explanation, do you have a sample
> >> > > > > --system-properties-file?
> >> > > > > > that i can take a look?
> >> > > > > >
> >> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> >> error, i
> >> > > am
> >> > > > > not
> >> > > > > > a developer, i am ops guy and i dont want to change the
> existing
> >> > code
> >> > > > but
> >> > > > > > wanted to make java qpid work. This is the error i am getting
> >> with
> >> > > > > 6.0.1v..
> >> > > > > >
> >> > > > > > 2016-04-07 22:32:36,726
> >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> ERROR
> >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> >> > > > connecting
> >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > > > error Unknown virtualhost '' username=null
> >> > > > > > 2016-04-07 22:32:36,731
> >> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
> ERROR
> >> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> >> > > > connecting
> >> > > > > > to Connection : 0 Host = qphost01
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> >> > > > > > error Client and broker have no SASL mechanisms in common.
> >> Broker
> >> > > > allows
> >> > > > > :
> >> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> >> > CRAM-MD5,
> >> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to :
> PLAIN
> >> > > > > > username=guest
> >> > > > > >
> >> > > > > >
> >> > > > > > And here is my sasl mechanism.
> >> > > > > >
> >> > > > > > curl -s 0:10001/service/sasl
> >> > > > > > {
> >> > > > > >   "user" : "ANONYMOUS",
> >> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> >> > > > > >
> >> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> >> > working.
> >> > > > > >
> >> > > > > >
> >> > > > > > Thanks,
> >> > > > > > Ram
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> >> > rob.j.godfrey@gmail.com
> >> > > >
> >> > > > > > wrote:
> >> > > > > >
> >> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> >> > > > > rammohanganap@gmail.com
> >> > > > > > >
> >> > > > > > > wrote:
> >> > > > > > >
> >> > > > > > > > Rob,
> >> > > > > > > >
> >> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
> >> time
> >> > > when
> >> > > > i
> >> > > > > > try
> >> > > > > > > to
> >> > > > > > > > use .32 it was not working with Anonymous.
> >> > > > > > > >
> >> > > > > > >
> >> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
> >> using
> >> > > > (0-9-1,
> >> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work
> on
> >> > 0.32
> >> > > > > > however
> >> > > > > > > I think in 0.32 the "no authentication layer at all" option
> >> for
> >> > > AMQP
> >> > > > > 1.0
> >> > > > > > > probably didn't work (this is different to an authentication
> >> > layer
> >> > > > > which
> >> > > > > > > allows anonymous).
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > >
> >> > > > > > > > Sorry i was not clear in my previous email, i was taking
> >> about
> >> > > > > > properties
> >> > > > > > > > file not broker storage format, the use case is if i
> wanted
> >> to
> >> > > > > override
> >> > > > > > > > some of these properties and i have my own custom
> >> tool/script
> >> > > that
> >> > > > > > goes
> >> > > > > > > > through the properties files and replace with the
> override i
> >> > > > defined,
> >> > > > > > so
> >> > > > > > > i
> >> > > > > > > > want to use the same tool/script for qpid config as well.
> My
> >> > tool
> >> > > > > only
> >> > > > > > > > support key:value but if we have json array it wont work.
> So
> >> > if i
> >> > > > > want
> >> > > > > > to
> >> > > > > > > > pass overrides as "-prop"  command line arguments what are
> >> the
> >> > > > > > properties
> >> > > > > > > > that java qpid support as command line?
> >> > > > > > > >
> >> > > > > > > > Below if my config, is it possible to pass all these as
> >> command
> >> > > > line
> >> > > > > > > > arguments?
> >> > > > > > > >
> >> > > > > > > > {
> >> > > > > > > >   "authenticationproviders" : [ {
> >> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> >> > > > > > > >     "name" : "Anonymous",
> >> > > > > > > >     "type" : "Anonymous"
> >> > > > > > > >   } ],
> >> > > > > > > >   "defaultVirtualHost" : "default",
> >> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> >> > > > > > > >   "modelVersion" : "1.3",
> >> > > > > > > >   "name" : "Broker",
> >> > > > > > > >   "plugins" : [ {
> >> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> >> > > > > > > >     "name" : "httpManagement",
> >> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> >> > > > > > > >   }, {
> >> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> >> > > > > > > >     "name" : "jmxManagement",
> >> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> >> > > > > > > >   } ],
> >> > > > > > > >   "ports" : [ {
> >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> >> > > > > > > >     "name" : "JMX_CONNECTOR",
> >> > > > > > > >     "port" : "9099",
> >> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> >> > > > > > > >   }, {
> >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> >> > > > > > > >     "name" : "RMI_REGISTRY",
> >> > > > > > > >     "port" : "8999",
> >> > > > > > > >     "protocols" : [ "RMI" ]
> >> > > > > > > >   }, {
> >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> >> > > > > > > >     "name" : "AMQP",
> >> > > > > > > >     "port" : "5672"
> >> > > > > > > >   }, {
> >> > > > > > > >     "authenticationProvider" : "Anonymous",
> >> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> >> > > > > > > >     "name" : "HTTP",
> >> > > > > > > >     "port" : "10001",
> >> > > > > > > >     "protocols" : [ "HTTP" ]
> >> > > > > > > >   } ],
> >> > > > > > > >   "storeVersion" : 1,
> >> > > > > > > >   "virtualhosts" : [ {
> >> > > > > > > >     "createdTime" : 1439482250329,
> >> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> >> > > > > > > >     "name" : "default",
> >> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> >> > > > > > > >     "storeType" : "DERBY",
> >> > > > > > > >     "type" : "STANDARD"
> >> > > > > > > >   } ]
> >> > > > > > > > }
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > In 6.0 you can replace any value in the JSON with a
> reference
> >> to
> >> > a
> >> > > > > > > property, for example
> >> > > > > > >
> >> > > > > > > "name" : "${myPortName}",
> >> > > > > > >
> >> > > > > > > this will then interpolate the value from the property, so
> if
> >> you
> >> > > set
> >> > > > > the
> >> > > > > > > property myPortName to "RobsPort" that will be the value
> used.
> >> > > Type
> >> > > > > > > conversions will be performed, so if the required value is
> an
> >> > > integer
> >> > > > > it
> >> > > > > > > will convert to an integer.  If the value required is a list
> >> then
> >> > > you
> >> > > > > can
> >> > > > > > > use a String representation of a list in Json format.
> >> > > > > > >
> >> > > > > > > You can set the properties individually, or you can pass in
> a
> >> > > > > properties
> >> > > > > > > file using -props or --system-properties-file (so if you
> have
> >> a
> >> > > > > > properties
> >> > > > > > > file already maybe you can just pass this in).
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > > One more question or may be clarification is,
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > > *-sp (--store-path) is the path of config file that will
> >> > > generated
> >> > > > by
> >> > > > > > > qpidd
> >> > > > > > > > from the initial config right? what is the use of
> >> store-path?*
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > That is correct.  Some people just like to have config files
> >> in a
> >> > > > > > > non-default location :-)
> >> > > > > > >
> >> > > > > > > Hope this helps,
> >> > > > > > > Rob
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > > *Thanks,*
> >> > > > > > > >
> >> > > > > > > > *Ram*
> >> > > > > > > >
> >> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> >> > > > rob.j.godfrey@gmail.com
> >> > > > > >
> >> > > > > > > > wrote:
> >> > > > > > > >
> >> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
> >> updating
> >> > to
> >> > > > > v6.0.1
> >> > > > > > > if
> >> > > > > > > > > you can.
> >> > > > > > > > >
> >> > > > > > > > > Secondly I'm not sure I understand your question - are
> you
> >> > > asking
> >> > > > > > about
> >> > > > > > > > > overriding particular properties, or the storage format
> >> for
> >> > the
> >> > > > > > broker
> >> > > > > > > > > configuration - these are two different things.  In
> terms
> >> of
> >> > > > > > > properties /
> >> > > > > > > > > context overrides this can be specified using a
> properties
> >> > file
> >> > > > (at
> >> > > > > > > least
> >> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
> >> terms of
> >> > > the
> >> > > > > > > > > configuration, JSON is currently the only text based
> >> format
> >> > > > > > supported.
> >> > > > > > > > You
> >> > > > > > > > > can use a database for the broker config storage, there
> >> are
> >> > > built
> >> > > > > in
> >> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC
> config
> >> > > stores.
> >> > > > > > > > >
> >> > > > > > > > > May I ask what advantage you would get by using YAML or
> >> > > > properties
> >> > > > > > > files
> >> > > > > > > > > instead of JSON?
> >> > > > > > > > >
> >> > > > > > > > > -- Rob
> >> > > > > > > > >
> >> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> >> > > > > > > rammohanganap@gmail.com
> >> > > > > > > > >
> >> > > > > > > > > wrote:
> >> > > > > > > > >
> >> > > > > > > > > > Hi,
> >> > > > > > > > > >
> >> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
> >> > > > .properties
> >> > > > > > > file
> >> > > > > > > > or
> >> > > > > > > > > > .xml or .yaml file instead of .json file? or what are
> >> the
> >> > > other
> >> > > > > > ways
> >> > > > > > > to
> >> > > > > > > > > > pass override properties instead of JSON config file?
> >> > > > > > > > > >
> >> > > > > > > > > >
> >> > > > > > > > > > Thanks,
> >> > > > > > > > > > Ram
> >> > > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Also how do i pass logfile location as -prop as commandline argument? or
how do i change default log file location i know we can update log4j.xml
but is there any other way?

Ram

On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Rob,
>
> I tried passing properties file as argument but it didnt like it. Does it
> support in 0.28v?
>
>
> ./qpid-server -icp ../etc/initial_config.json -prop ../etc/qpidd.properties
>
> System Properties set to -Damqj.logging.level=info
> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> Using QPID_CLASSPATH
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> -XX:+HeapDumpOnOutOfMemoryError
> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> Exception during startup: java.lang.IllegalArgumentException:
> Configuration property argument is not of the format name=value:
> ../etc/qpidd.properties
> java.lang.IllegalArgumentException: Configuration property argument is not
> of the format name=value: ../etc/qpidd.properties
>     at org.apache.qpid.server.Main.execute(Main.java:226)
>     at org.apache.qpid.server.Main.<init>(Main.java:134)
>     at org.apache.qpid.server.Main.main(Main.java:125)
>
>
> ./qpid-server -icp ../etc/initial_config.json -props
> ../etc/qpidd.properties
>
> System Properties set to -Damqj.logging.level=info
> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> Using QPID_CLASSPATH
> /opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> -XX:+HeapDumpOnOutOfMemoryError
> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>
>
>
>
> *Error: Unrecognized option: -props*
> How do i change this block from initial configuration to use Anonymous?
>
> {
>   "name": "Broker",
>   "storeVersion": 1,
>   "modelVersion": "1.2",
>   "defaultVirtualHost" : "default",
>   "authenticationproviders" : [ {
>     "name" : "passwordFile",
>     "type" : "PlainPasswordFile",
>     "path" : "${qpid.home_dir}/etc/passwd",
>     "preferencesproviders" : [{
>         "name": "fileSystemPreferences",
>         "type": "FileSystemPreferences",
>         "path" : "${qpid.work_dir}/user.preferences.json"
>     }]
>   } ],
>
> On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> so one approach to this would be to define you authentication providers up
>> from in your config file, so you have an an Anonymous provider named
>> "anonymous" and a password file provider named "passwordFile" or
>> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
>> parameterise the value they have for the name of the auth provider they
>> are
>> using.  So your initial JSON config file could contain something like:
>>
>> "ports" : [  {
>>   "name" : "AMQP",
>>   "port" : "${qpid.amqp_port}",
>>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>>
>>
>> and then you could override which provider to use at runtime by setting
>> the
>> property qpid.amqp_port_authenticationProvider to anonymous or
>> passwordFile
>> (or the name of any other authentication provider that is defined in your
>> JSON config.
>>
>> The only thing you can't do with properties is to add new entities into
>> the
>> config - that you have to do either by editing the file, or by using the
>> REST api to modify the broker configuration while it is running.
>>
>> Hope this helps,
>> Rob
>>
>> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
>> wrote:
>>
>> > Rob,
>> >
>> > Thanks for detailed explanation, i wanted to restart with the changed
>> > properties if any for example today i have Anonymous SASL and later i
>> may
>> > want to use password file. How do i pass SASL mechanism as -prop?
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > The initial config file is only used when there is no broker config -
>> the
>> > > idea is that it is used to populate the broker config on first
>> startup.
>> > > Once there is a broker config file then this is used (since it may
>> have
>> > > been updated by creating or modifying entities through the management
>> > > functions).  The broker ships with a default initial config which is
>> > > contained within its jar files, however we allow people to provide
>> there
>> > > own.  Records in the config file a copied verbatim into the config
>> store
>> > -
>> > > the only difference being that ids are generated for each entity.  The
>> > > interpolation from property names to values is done each time the
>> broker
>> > > reads the config.  If the broker finds there is config in the store
>> path
>> > > then it completely ignores the initial config - it does not examine
>> any
>> > > differences.
>> > >
>> > > Are you looking to start a completely fresh broker each time, or
>> merely
>> > to
>> > > be able to change certain properties (such as port numbers) on each
>> > > restart?  If you do not want to retain any changes to the broker
>> > > configuration made while the broker is actually running, then you
>> could
>> > use
>> > > a "memory" config store rather than a Json one.  If you want to retain
>> > any
>> > > changes made through management, but desire the ability to change
>> certain
>> > > properties (like ports) on each startup, then you don't need to worry
>> > about
>> > > the fact that the initial configuration is only loaded the first time
>> -
>> > you
>> > > just need to pass in the property values you want on startup.
>> > >
>> > > In terms of an example system properties file...  The default
>> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
>> the
>> > > http port to run on ${qpid.http_port}, so if I create a properties
>> file
>> > > called rob.properties which contains
>> > >
>> > > qpid.http_port=8888
>> > > qpid.amqp_port=5555
>> > >
>> > > and then run qpid with the argument -props rob.properties then I
>> get...
>> > >
>> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>> > > [Broker] MNG-1001 : Web Management Startup
>> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
>> > >
>> > >
>> > > So, when you use your initial or stored config you just need to ensure
>> > all
>> > > the variables you use in your config are set in your properties file
>> > (some
>> > > properties have defaults within the code if they are not otherwise
>> set -
>> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
>> > >
>> > > Hope this helps,
>> > > Rob
>> > >
>> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> rammohanganap@gmail.com
>> > >
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > Thank you, one more question on -icp and -sp, so what if i have
>> updated
>> > > icp
>> > > > with some property change  and restarted broker with icp (every
>> time i
>> > > > restart broker i am using initial config
>> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right way
>> or
>> > > > not), does it automatically update config file in -sp? i my case it
>> did
>> > > not
>> > > > updated the config file in store-path upon restart. What will
>> happened
>> > > if i
>> > > > have differences in initial config file that i use to start broker
>> and
>> > > the
>> > > > config file under store-path?
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > This looks like a client error to me... the line which says:
>> > > > >
>> > > > >  Client restricted itself to : PLAIN
>> > > > >
>> > > > > Out of interest what happens if you remove the
>> > &sasl_mechs='ANONYMOUS'
>> > > > from
>> > > > > your connection URL?  Without any sort of restriction I'd expect
>> the
>> > > > client
>> > > > > to do the right thing.
>> > > > >
>> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
>> look
>> > in
>> > > > the
>> > > > > morning.
>> > > > >
>> > > > > -- Rob
>> > > > >
>> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>> > > rammohanganap@gmail.com
>> > > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Rob,
>> > > > > >
>> > > > > > thanks for the explanation, do you have a sample
>> > > > > --system-properties-file?
>> > > > > > that i can take a look?
>> > > > > >
>> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
>> error, i
>> > > am
>> > > > > not
>> > > > > > a developer, i am ops guy and i dont want to change the existing
>> > code
>> > > > but
>> > > > > > wanted to make java qpid work. This is the error i am getting
>> with
>> > > > > 6.0.1v..
>> > > > > >
>> > > > > > 2016-04-07 22:32:36,726
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Unknown virtualhost '' username=null
>> > > > > > 2016-04-07 22:32:36,731
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Client and broker have no SASL mechanisms in common.
>> Broker
>> > > > allows
>> > > > > :
>> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
>> > CRAM-MD5,
>> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
>> > > > > > username=guest
>> > > > > >
>> > > > > >
>> > > > > > And here is my sasl mechanism.
>> > > > > >
>> > > > > > curl -s 0:10001/service/sasl
>> > > > > > {
>> > > > > >   "user" : "ANONYMOUS",
>> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > > >
>> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
>> > working.
>> > > > > >
>> > > > > >
>> > > > > > Thanks,
>> > > > > > Ram
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > rob.j.godfrey@gmail.com
>> > > >
>> > > > > > wrote:
>> > > > > >
>> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>> > > > > rammohanganap@gmail.com
>> > > > > > >
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Rob,
>> > > > > > > >
>> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
>> time
>> > > when
>> > > > i
>> > > > > > try
>> > > > > > > to
>> > > > > > > > use .32 it was not working with Anonymous.
>> > > > > > > >
>> > > > > > >
>> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
>> using
>> > > > (0-9-1,
>> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
>> > 0.32
>> > > > > > however
>> > > > > > > I think in 0.32 the "no authentication layer at all" option
>> for
>> > > AMQP
>> > > > > 1.0
>> > > > > > > probably didn't work (this is different to an authentication
>> > layer
>> > > > > which
>> > > > > > > allows anonymous).
>> > > > > > >
>> > > > > > >
>> > > > > > > >
>> > > > > > > > Sorry i was not clear in my previous email, i was taking
>> about
>> > > > > > properties
>> > > > > > > > file not broker storage format, the use case is if i wanted
>> to
>> > > > > override
>> > > > > > > > some of these properties and i have my own custom
>> tool/script
>> > > that
>> > > > > > goes
>> > > > > > > > through the properties files and replace with the override i
>> > > > defined,
>> > > > > > so
>> > > > > > > i
>> > > > > > > > want to use the same tool/script for qpid config as well. My
>> > tool
>> > > > > only
>> > > > > > > > support key:value but if we have json array it wont work. So
>> > if i
>> > > > > want
>> > > > > > to
>> > > > > > > > pass overrides as "-prop"  command line arguments what are
>> the
>> > > > > > properties
>> > > > > > > > that java qpid support as command line?
>> > > > > > > >
>> > > > > > > > Below if my config, is it possible to pass all these as
>> command
>> > > > line
>> > > > > > > > arguments?
>> > > > > > > >
>> > > > > > > > {
>> > > > > > > >   "authenticationproviders" : [ {
>> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> > > > > > > >     "name" : "Anonymous",
>> > > > > > > >     "type" : "Anonymous"
>> > > > > > > >   } ],
>> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>> > > > > > > >   "modelVersion" : "1.3",
>> > > > > > > >   "name" : "Broker",
>> > > > > > > >   "plugins" : [ {
>> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> > > > > > > >     "name" : "httpManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > > > > >   }, {
>> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> > > > > > > >     "name" : "jmxManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > > > > >   } ],
>> > > > > > > >   "ports" : [ {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > > > > >     "port" : "9099",
>> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > > > > >     "port" : "8999",
>> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>> > > > > > > >     "name" : "AMQP",
>> > > > > > > >     "port" : "5672"
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> > > > > > > >     "name" : "HTTP",
>> > > > > > > >     "port" : "10001",
>> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > > > > >   } ],
>> > > > > > > >   "storeVersion" : 1,
>> > > > > > > >   "virtualhosts" : [ {
>> > > > > > > >     "createdTime" : 1439482250329,
>> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> > > > > > > >     "name" : "default",
>> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>> > > > > > > >     "storeType" : "DERBY",
>> > > > > > > >     "type" : "STANDARD"
>> > > > > > > >   } ]
>> > > > > > > > }
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > In 6.0 you can replace any value in the JSON with a reference
>> to
>> > a
>> > > > > > > property, for example
>> > > > > > >
>> > > > > > > "name" : "${myPortName}",
>> > > > > > >
>> > > > > > > this will then interpolate the value from the property, so if
>> you
>> > > set
>> > > > > the
>> > > > > > > property myPortName to "RobsPort" that will be the value used.
>> > > Type
>> > > > > > > conversions will be performed, so if the required value is an
>> > > integer
>> > > > > it
>> > > > > > > will convert to an integer.  If the value required is a list
>> then
>> > > you
>> > > > > can
>> > > > > > > use a String representation of a list in Json format.
>> > > > > > >
>> > > > > > > You can set the properties individually, or you can pass in a
>> > > > > properties
>> > > > > > > file using -props or --system-properties-file (so if you have
>> a
>> > > > > > properties
>> > > > > > > file already maybe you can just pass this in).
>> > > > > > >
>> > > > > > >
>> > > > > > > > One more question or may be clarification is,
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > *-sp (--store-path) is the path of config file that will
>> > > generated
>> > > > by
>> > > > > > > qpidd
>> > > > > > > > from the initial config right? what is the use of
>> store-path?*
>> > > > > > > >
>> > > > > > > >
>> > > > > > > That is correct.  Some people just like to have config files
>> in a
>> > > > > > > non-default location :-)
>> > > > > > >
>> > > > > > > Hope this helps,
>> > > > > > > Rob
>> > > > > > >
>> > > > > > >
>> > > > > > > > *Thanks,*
>> > > > > > > >
>> > > > > > > > *Ram*
>> > > > > > > >
>> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>> > > > rob.j.godfrey@gmail.com
>> > > > > >
>> > > > > > > > wrote:
>> > > > > > > >
>> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
>> updating
>> > to
>> > > > > v6.0.1
>> > > > > > > if
>> > > > > > > > > you can.
>> > > > > > > > >
>> > > > > > > > > Secondly I'm not sure I understand your question - are you
>> > > asking
>> > > > > > about
>> > > > > > > > > overriding particular properties, or the storage format
>> for
>> > the
>> > > > > > broker
>> > > > > > > > > configuration - these are two different things.  In terms
>> of
>> > > > > > > properties /
>> > > > > > > > > context overrides this can be specified using a properties
>> > file
>> > > > (at
>> > > > > > > least
>> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
>> terms of
>> > > the
>> > > > > > > > > configuration, JSON is currently the only text based
>> format
>> > > > > > supported.
>> > > > > > > > You
>> > > > > > > > > can use a database for the broker config storage, there
>> are
>> > > built
>> > > > > in
>> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
>> > > stores.
>> > > > > > > > >
>> > > > > > > > > May I ask what advantage you would get by using YAML or
>> > > > properties
>> > > > > > > files
>> > > > > > > > > instead of JSON?
>> > > > > > > > >
>> > > > > > > > > -- Rob
>> > > > > > > > >
>> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
>> > > > > > > rammohanganap@gmail.com
>> > > > > > > > >
>> > > > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > > > Hi,
>> > > > > > > > > >
>> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
>> > > > .properties
>> > > > > > > file
>> > > > > > > > or
>> > > > > > > > > > .xml or .yaml file instead of .json file? or what are
>> the
>> > > other
>> > > > > > ways
>> > > > > > > to
>> > > > > > > > > > pass override properties instead of JSON config file?
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > Thanks,
>> > > > > > > > > > Ram
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
:-( Unfortunately it seems there is a bug in the Broker that attempts
too look up the objects by name without first resolving context
variables.  I'll make a fix and hopefully we can get this in the 6.0.5
release.

-- Rob

On 8 October 2016 at 19:53, rammohan ganapavarapu
<ra...@gmail.com> wrote:
> Rob,
>
> I finally started using 6.0.2 version and i am trying to use properties
> file with properties defined and initial config with those variables but i
> failed to start the broker, any help?
>
> Getting below error:
>
>
> java.lang.IllegalArgumentException: Cannot resolve some objects: [
> GenericUnresolvedConfiguredObject{class=HttpPortImpl, unresolvedObjects=[
> NameDependency{AuthenticationProvider,
> "${qpid.http_port_authenticationProvider}"
> }]}, GenericUnresolvedConfiguredObject{class=AmqpPortImpl,
> unresolvedObjects=[NameDependency{AuthenticationProvider,
> "${qpid.amqp_port_authenticationProvider}"
> }]}, GenericUnresolvedConfiguredObject{class=JmxPortImpl,
> unresolvedObjects=[NameDependency{AuthenticationProvider,
> "${qpid.jmx_port_authenticationProvider}"
> }]}]
>
>
> cat ../etc/system.properties
> qpid.amqp_port=5672
> qpid.http_port=10001
> qpid.jmx_port=8999
> qpid.rmi_port=9099
> qpid.amqp_port_authenticationProvider=Anonymous
> qpid.http_port_authenticationProvider=Anonymous
> qpid.jmx_port_authenticationProvider=Plain
>
>
> My sample initial config with variables:
>
>   "ports" : [ {
>     "name" : "AMQP",
>     "type" : "AMQP",
>     "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>     "port" : "${qpid.amqp_port}",
>     "virtualhostaliases" : [ {
>       "name" : "defaultAlias",
>       "type" : "defaultAlias"
>     }, {
>       "name" : "hostnameAlias",
>       "type" : "hostnameAlias"
>     }, {
>       "name" : "nameAlias",
>       "type" : "nameAlias"
>     } ]
>   }, {
>     "name" : "HTTP",
>     "type" : "HTTP",
>     "authenticationProvider" : "${qpid.http_port_authenticationProvider}",
>     "port" : "${qpid.http_port}",
>     "protocols" : [ "HTTP" ]
>   }, {
>     "name" : "JMX_CONNECTOR",
>     "type" : "JMX",
>     "authenticationProvider" : "${qpid.jmx_port_authenticationProvider}",
>     "port" : "${qpid.jmx_port}"
>   }, {
>     "name" : "RMI_REGISTRY",
>     "type" : "RMI",
>     "port" : "${qpid.rmi_port}"
>   } ],
>   "virtualhostnodes" : [ {
>     "name" : "default",
>     "type" : "JSON",
>     "defaultVirtualHostNode" : "true",
>     "virtualHostInitialConfiguration" : "{\"type\" : \"DERBY\"}"
>   } ]
> }
>
>
>
>
> I am starting broker as below:
>
> ./qpid-server -icp ../etc/config.json -props ../etc/system.properties
>
>
> Can you please help me, all i wanted it use initial config and should be
> able to start broker with new or updated properties.
>
> Ram
> On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
> rammohanganap@gmail.com> wrote:
>
>> Rob,
>>
>> I tried passing properties file as argument but it didnt like it. Does it
>> support in 0.28v?
>>
>>
>> ./qpid-server -icp ../etc/initial_config.json -prop ../etc/qpidd.properties
>>
>> System Properties set to -Damqj.logging.level=info
>> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
>> Using QPID_CLASSPATH /opt/qpid-java-broker/lib/*:/o
>> pt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
>> -XX:+HeapDumpOnOutOfMemoryError
>> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>> Exception during startup: java.lang.IllegalArgumentException:
>> Configuration property argument is not of the format name=value:
>> ../etc/qpidd.properties
>> java.lang.IllegalArgumentException: Configuration property argument is
>> not of the format name=value: ../etc/qpidd.properties
>>     at org.apache.qpid.server.Main.execute(Main.java:226)
>>     at org.apache.qpid.server.Main.<init>(Main.java:134)
>>     at org.apache.qpid.server.Main.main(Main.java:125)
>>
>>
>> ./qpid-server -icp ../etc/initial_config.json -props
>> ../etc/qpidd.properties
>>
>> System Properties set to -Damqj.logging.level=info
>> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
>> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
>> Using QPID_CLASSPATH /opt/qpid-java-broker/lib/*:/o
>> pt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
>> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
>> -XX:+HeapDumpOnOutOfMemoryError
>> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>>
>>
>>
>>
>> *Error: Unrecognized option: -props*
>> How do i change this block from initial configuration to use Anonymous?
>>
>> {
>>   "name": "Broker",
>>   "storeVersion": 1,
>>   "modelVersion": "1.2",
>>   "defaultVirtualHost" : "default",
>>   "authenticationproviders" : [ {
>>     "name" : "passwordFile",
>>     "type" : "PlainPasswordFile",
>>     "path" : "${qpid.home_dir}/etc/passwd",
>>     "preferencesproviders" : [{
>>         "name": "fileSystemPreferences",
>>         "type": "FileSystemPreferences",
>>         "path" : "${qpid.work_dir}/user.preferences.json"
>>     }]
>>   } ],
>>
>> On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
>> wrote:
>>
>>> Hi Ram,
>>>
>>> so one approach to this would be to define you authentication providers up
>>> from in your config file, so you have an an Anonymous provider named
>>> "anonymous" and a password file provider named "passwordFile" or
>>> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
>>> parameterise the value they have for the name of the auth provider they
>>> are
>>> using.  So your initial JSON config file could contain something like:
>>>
>>> "ports" : [  {
>>>   "name" : "AMQP",
>>>   "port" : "${qpid.amqp_port}",
>>>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>>>
>>>
>>> and then you could override which provider to use at runtime by setting
>>> the
>>> property qpid.amqp_port_authenticationProvider to anonymous or
>>> passwordFile
>>> (or the name of any other authentication provider that is defined in your
>>> JSON config.
>>>
>>> The only thing you can't do with properties is to add new entities into
>>> the
>>> config - that you have to do either by editing the file, or by using the
>>> REST api to modify the broker configuration while it is running.
>>>
>>> Hope this helps,
>>> Rob
>>>
>>> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
>>> wrote:
>>>
>>> > Rob,
>>> >
>>> > Thanks for detailed explanation, i wanted to restart with the changed
>>> > properties if any for example today i have Anonymous SASL and later i
>>> may
>>> > want to use password file. How do i pass SASL mechanism as -prop?
>>> >
>>> > Thanks,
>>> > Ram
>>> >
>>> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
>>> > wrote:
>>> >
>>> > > Hi Ram,
>>> > >
>>> > > The initial config file is only used when there is no broker config -
>>> the
>>> > > idea is that it is used to populate the broker config on first
>>> startup.
>>> > > Once there is a broker config file then this is used (since it may
>>> have
>>> > > been updated by creating or modifying entities through the management
>>> > > functions).  The broker ships with a default initial config which is
>>> > > contained within its jar files, however we allow people to provide
>>> there
>>> > > own.  Records in the config file a copied verbatim into the config
>>> store
>>> > -
>>> > > the only difference being that ids are generated for each entity.  The
>>> > > interpolation from property names to values is done each time the
>>> broker
>>> > > reads the config.  If the broker finds there is config in the store
>>> path
>>> > > then it completely ignores the initial config - it does not examine
>>> any
>>> > > differences.
>>> > >
>>> > > Are you looking to start a completely fresh broker each time, or
>>> merely
>>> > to
>>> > > be able to change certain properties (such as port numbers) on each
>>> > > restart?  If you do not want to retain any changes to the broker
>>> > > configuration made while the broker is actually running, then you
>>> could
>>> > use
>>> > > a "memory" config store rather than a Json one.  If you want to retain
>>> > any
>>> > > changes made through management, but desire the ability to change
>>> certain
>>> > > properties (like ports) on each startup, then you don't need to worry
>>> > about
>>> > > the fact that the initial configuration is only loaded the first time
>>> -
>>> > you
>>> > > just need to pass in the property values you want on startup.
>>> > >
>>> > > In terms of an example system properties file...  The default
>>> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
>>> the
>>> > > http port to run on ${qpid.http_port}, so if I create a properties
>>> file
>>> > > called rob.properties which contains
>>> > >
>>> > > qpid.http_port=8888
>>> > > qpid.amqp_port=5555
>>> > >
>>> > > and then run qpid with the argument -props rob.properties then I
>>> get...
>>> > >
>>> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>>> > > [Broker] MNG-1001 : Web Management Startup
>>> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
>>> > >
>>> > >
>>> > > So, when you use your initial or stored config you just need to ensure
>>> > all
>>> > > the variables you use in your config are set in your properties file
>>> > (some
>>> > > properties have defaults within the code if they are not otherwise
>>> set -
>>> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
>>> > >
>>> > > Hope this helps,
>>> > > Rob
>>> > >
>>> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>>> rammohanganap@gmail.com
>>> > >
>>> > > wrote:
>>> > >
>>> > > > Rob,
>>> > > >
>>> > > > Thank you, one more question on -icp and -sp, so what if i have
>>> updated
>>> > > icp
>>> > > > with some property change  and restarted broker with icp (every
>>> time i
>>> > > > restart broker i am using initial config
>>> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>>> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right
>>> way or
>>> > > > not), does it automatically update config file in -sp? i my case it
>>> did
>>> > > not
>>> > > > updated the config file in store-path upon restart. What will
>>> happened
>>> > > if i
>>> > > > have differences in initial config file that i use to start broker
>>> and
>>> > > the
>>> > > > config file under store-path?
>>> > > >
>>> > > > Thanks,
>>> > > > Ram
>>> > > >
>>> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>>> rob.j.godfrey@gmail.com>
>>> > > > wrote:
>>> > > >
>>> > > > > This looks like a client error to me... the line which says:
>>> > > > >
>>> > > > >  Client restricted itself to : PLAIN
>>> > > > >
>>> > > > > Out of interest what happens if you remove the
>>> > &sasl_mechs='ANONYMOUS'
>>> > > > from
>>> > > > > your connection URL?  Without any sort of restriction I'd expect
>>> the
>>> > > > client
>>> > > > > to do the right thing.
>>> > > > >
>>> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
>>> look
>>> > in
>>> > > > the
>>> > > > > morning.
>>> > > > >
>>> > > > > -- Rob
>>> > > > >
>>> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>>> > > rammohanganap@gmail.com
>>> > > > >
>>> > > > > wrote:
>>> > > > >
>>> > > > > > Rob,
>>> > > > > >
>>> > > > > > thanks for the explanation, do you have a sample
>>> > > > > --system-properties-file?
>>> > > > > > that i can take a look?
>>> > > > > >
>>> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
>>> error, i
>>> > > am
>>> > > > > not
>>> > > > > > a developer, i am ops guy and i dont want to change the existing
>>> > code
>>> > > > but
>>> > > > > > wanted to make java qpid work. This is the error i am getting
>>> with
>>> > > > > 6.0.1v..
>>> > > > > >
>>> > > > > > 2016-04-07 22:32:36,726
>>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>>> ERROR
>>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>>> > > > connecting
>>> > > > > > to Connection : 0 Host = qphost01
>>> > > > > >
>>> > > > > >
>>> > > > >
>>> > > >
>>> > >
>>> > url=amqp://null:********@qphost011460067563391/?brokerlist='
>>> tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>>> > > > > > error Unknown virtualhost '' username=null
>>> > > > > > 2016-04-07 22:32:36,731
>>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>>> ERROR
>>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>>> > > > connecting
>>> > > > > > to Connection : 0 Host = qphost01
>>> > > > > >
>>> > > > > >
>>> > > > >
>>> > > >
>>> > >
>>> > url=amqp://null:********@qphost011460067563391/?brokerlist='
>>> tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>>> > > > > > error Client and broker have no SASL mechanisms in common.
>>> Broker
>>> > > > allows
>>> > > > > :
>>> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
>>> > CRAM-MD5,
>>> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
>>> > > > > > username=guest
>>> > > > > >
>>> > > > > >
>>> > > > > > And here is my sasl mechanism.
>>> > > > > >
>>> > > > > > curl -s 0:10001/service/sasl
>>> > > > > > {
>>> > > > > >   "user" : "ANONYMOUS",
>>> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>>> > > > > >
>>> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
>>> > working.
>>> > > > > >
>>> > > > > >
>>> > > > > > Thanks,
>>> > > > > > Ram
>>> > > > > >
>>> > > > > >
>>> > > > > >
>>> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>>> > rob.j.godfrey@gmail.com
>>> > > >
>>> > > > > > wrote:
>>> > > > > >
>>> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>>> > > > > rammohanganap@gmail.com
>>> > > > > > >
>>> > > > > > > wrote:
>>> > > > > > >
>>> > > > > > > > Rob,
>>> > > > > > > >
>>> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
>>> time
>>> > > when
>>> > > > i
>>> > > > > > try
>>> > > > > > > to
>>> > > > > > > > use .32 it was not working with Anonymous.
>>> > > > > > > >
>>> > > > > > >
>>> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
>>> using
>>> > > > (0-9-1,
>>> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
>>> > 0.32
>>> > > > > > however
>>> > > > > > > I think in 0.32 the "no authentication layer at all" option
>>> for
>>> > > AMQP
>>> > > > > 1.0
>>> > > > > > > probably didn't work (this is different to an authentication
>>> > layer
>>> > > > > which
>>> > > > > > > allows anonymous).
>>> > > > > > >
>>> > > > > > >
>>> > > > > > > >
>>> > > > > > > > Sorry i was not clear in my previous email, i was taking
>>> about
>>> > > > > > properties
>>> > > > > > > > file not broker storage format, the use case is if i wanted
>>> to
>>> > > > > override
>>> > > > > > > > some of these properties and i have my own custom
>>> tool/script
>>> > > that
>>> > > > > > goes
>>> > > > > > > > through the properties files and replace with the override i
>>> > > > defined,
>>> > > > > > so
>>> > > > > > > i
>>> > > > > > > > want to use the same tool/script for qpid config as well. My
>>> > tool
>>> > > > > only
>>> > > > > > > > support key:value but if we have json array it wont work. So
>>> > if i
>>> > > > > want
>>> > > > > > to
>>> > > > > > > > pass overrides as "-prop"  command line arguments what are
>>> the
>>> > > > > > properties
>>> > > > > > > > that java qpid support as command line?
>>> > > > > > > >
>>> > > > > > > > Below if my config, is it possible to pass all these as
>>> command
>>> > > > line
>>> > > > > > > > arguments?
>>> > > > > > > >
>>> > > > > > > > {
>>> > > > > > > >   "authenticationproviders" : [ {
>>> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>>> > > > > > > >     "name" : "Anonymous",
>>> > > > > > > >     "type" : "Anonymous"
>>> > > > > > > >   } ],
>>> > > > > > > >   "defaultVirtualHost" : "default",
>>> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>>> > > > > > > >   "modelVersion" : "1.3",
>>> > > > > > > >   "name" : "Broker",
>>> > > > > > > >   "plugins" : [ {
>>> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>>> > > > > > > >     "name" : "httpManagement",
>>> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>>> > > > > > > >   }, {
>>> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>>> > > > > > > >     "name" : "jmxManagement",
>>> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>>> > > > > > > >   } ],
>>> > > > > > > >   "ports" : [ {
>>> > > > > > > >     "authenticationProvider" : "Anonymous",
>>> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>>> > > > > > > >     "name" : "JMX_CONNECTOR",
>>> > > > > > > >     "port" : "9099",
>>> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>>> > > > > > > >   }, {
>>> > > > > > > >     "authenticationProvider" : "Anonymous",
>>> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>>> > > > > > > >     "name" : "RMI_REGISTRY",
>>> > > > > > > >     "port" : "8999",
>>> > > > > > > >     "protocols" : [ "RMI" ]
>>> > > > > > > >   }, {
>>> > > > > > > >     "authenticationProvider" : "Anonymous",
>>> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>>> > > > > > > >     "name" : "AMQP",
>>> > > > > > > >     "port" : "5672"
>>> > > > > > > >   }, {
>>> > > > > > > >     "authenticationProvider" : "Anonymous",
>>> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>>> > > > > > > >     "name" : "HTTP",
>>> > > > > > > >     "port" : "10001",
>>> > > > > > > >     "protocols" : [ "HTTP" ]
>>> > > > > > > >   } ],
>>> > > > > > > >   "storeVersion" : 1,
>>> > > > > > > >   "virtualhosts" : [ {
>>> > > > > > > >     "createdTime" : 1439482250329,
>>> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>>> > > > > > > >     "name" : "default",
>>> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>>> > > > > > > >     "storeType" : "DERBY",
>>> > > > > > > >     "type" : "STANDARD"
>>> > > > > > > >   } ]
>>> > > > > > > > }
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > In 6.0 you can replace any value in the JSON with a reference
>>> to
>>> > a
>>> > > > > > > property, for example
>>> > > > > > >
>>> > > > > > > "name" : "${myPortName}",
>>> > > > > > >
>>> > > > > > > this will then interpolate the value from the property, so if
>>> you
>>> > > set
>>> > > > > the
>>> > > > > > > property myPortName to "RobsPort" that will be the value used.
>>> > > Type
>>> > > > > > > conversions will be performed, so if the required value is an
>>> > > integer
>>> > > > > it
>>> > > > > > > will convert to an integer.  If the value required is a list
>>> then
>>> > > you
>>> > > > > can
>>> > > > > > > use a String representation of a list in Json format.
>>> > > > > > >
>>> > > > > > > You can set the properties individually, or you can pass in a
>>> > > > > properties
>>> > > > > > > file using -props or --system-properties-file (so if you have
>>> a
>>> > > > > > properties
>>> > > > > > > file already maybe you can just pass this in).
>>> > > > > > >
>>> > > > > > >
>>> > > > > > > > One more question or may be clarification is,
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > > *-sp (--store-path) is the path of config file that will
>>> > > generated
>>> > > > by
>>> > > > > > > qpidd
>>> > > > > > > > from the initial config right? what is the use of
>>> store-path?*
>>> > > > > > > >
>>> > > > > > > >
>>> > > > > > > That is correct.  Some people just like to have config files
>>> in a
>>> > > > > > > non-default location :-)
>>> > > > > > >
>>> > > > > > > Hope this helps,
>>> > > > > > > Rob
>>> > > > > > >
>>> > > > > > >
>>> > > > > > > > *Thanks,*
>>> > > > > > > >
>>> > > > > > > > *Ram*
>>> > > > > > > >
>>> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>>> > > > rob.j.godfrey@gmail.com
>>> > > > > >
>>> > > > > > > > wrote:
>>> > > > > > > >
>>> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
>>> updating
>>> > to
>>> > > > > v6.0.1
>>> > > > > > > if
>>> > > > > > > > > you can.
>>> > > > > > > > >
>>> > > > > > > > > Secondly I'm not sure I understand your question - are you
>>> > > asking
>>> > > > > > about
>>> > > > > > > > > overriding particular properties, or the storage format
>>> for
>>> > the
>>> > > > > > broker
>>> > > > > > > > > configuration - these are two different things.  In terms
>>> of
>>> > > > > > > properties /
>>> > > > > > > > > context overrides this can be specified using a properties
>>> > file
>>> > > > (at
>>> > > > > > > least
>>> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
>>> terms of
>>> > > the
>>> > > > > > > > > configuration, JSON is currently the only text based
>>> format
>>> > > > > > supported.
>>> > > > > > > > You
>>> > > > > > > > > can use a database for the broker config storage, there
>>> are
>>> > > built
>>> > > > > in
>>> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
>>> > > stores.
>>> > > > > > > > >
>>> > > > > > > > > May I ask what advantage you would get by using YAML or
>>> > > > properties
>>> > > > > > > files
>>> > > > > > > > > instead of JSON?
>>> > > > > > > > >
>>> > > > > > > > > -- Rob
>>> > > > > > > > >
>>> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
>>> > > > > > > rammohanganap@gmail.com
>>> > > > > > > > >
>>> > > > > > > > > wrote:
>>> > > > > > > > >
>>> > > > > > > > > > Hi,
>>> > > > > > > > > >
>>> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
>>> > > > .properties
>>> > > > > > > file
>>> > > > > > > > or
>>> > > > > > > > > > .xml or .yaml file instead of .json file? or what are
>>> the
>>> > > other
>>> > > > > > ways
>>> > > > > > > to
>>> > > > > > > > > > pass override properties instead of JSON config file?
>>> > > > > > > > > >
>>> > > > > > > > > >
>>> > > > > > > > > > Thanks,
>>> > > > > > > > > > Ram
>>> > > > > > > > > >
>>> > > > > > > > >
>>> > > > > > > >
>>> > > > > > >
>>> > > > > >
>>> > > > >
>>> > > >
>>> > >
>>> >
>>>
>>
>>

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


Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I finally started using 6.0.2 version and i am trying to use properties
file with properties defined and initial config with those variables but i
failed to start the broker, any help?

Getting below error:


java.lang.IllegalArgumentException: Cannot resolve some objects: [
GenericUnresolvedConfiguredObject{class=HttpPortImpl, unresolvedObjects=[
NameDependency{AuthenticationProvider,
"${qpid.http_port_authenticationProvider}"
}]}, GenericUnresolvedConfiguredObject{class=AmqpPortImpl,
unresolvedObjects=[NameDependency{AuthenticationProvider,
"${qpid.amqp_port_authenticationProvider}"
}]}, GenericUnresolvedConfiguredObject{class=JmxPortImpl,
unresolvedObjects=[NameDependency{AuthenticationProvider,
"${qpid.jmx_port_authenticationProvider}"
}]}]


cat ../etc/system.properties
qpid.amqp_port=5672
qpid.http_port=10001
qpid.jmx_port=8999
qpid.rmi_port=9099
qpid.amqp_port_authenticationProvider=Anonymous
qpid.http_port_authenticationProvider=Anonymous
qpid.jmx_port_authenticationProvider=Plain


My sample initial config with variables:

  "ports" : [ {
    "name" : "AMQP",
    "type" : "AMQP",
    "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
    "port" : "${qpid.amqp_port}",
    "virtualhostaliases" : [ {
      "name" : "defaultAlias",
      "type" : "defaultAlias"
    }, {
      "name" : "hostnameAlias",
      "type" : "hostnameAlias"
    }, {
      "name" : "nameAlias",
      "type" : "nameAlias"
    } ]
  }, {
    "name" : "HTTP",
    "type" : "HTTP",
    "authenticationProvider" : "${qpid.http_port_authenticationProvider}",
    "port" : "${qpid.http_port}",
    "protocols" : [ "HTTP" ]
  }, {
    "name" : "JMX_CONNECTOR",
    "type" : "JMX",
    "authenticationProvider" : "${qpid.jmx_port_authenticationProvider}",
    "port" : "${qpid.jmx_port}"
  }, {
    "name" : "RMI_REGISTRY",
    "type" : "RMI",
    "port" : "${qpid.rmi_port}"
  } ],
  "virtualhostnodes" : [ {
    "name" : "default",
    "type" : "JSON",
    "defaultVirtualHostNode" : "true",
    "virtualHostInitialConfiguration" : "{\"type\" : \"DERBY\"}"
  } ]
}




I am starting broker as below:

./qpid-server -icp ../etc/config.json -props ../etc/system.properties


Can you please help me, all i wanted it use initial config and should be
able to start broker with new or updated properties.

Ram
On Fri, Apr 8, 2016 at 11:48 AM, rammohan ganapavarapu <
rammohanganap@gmail.com> wrote:

> Rob,
>
> I tried passing properties file as argument but it didnt like it. Does it
> support in 0.28v?
>
>
> ./qpid-server -icp ../etc/initial_config.json -prop ../etc/qpidd.properties
>
> System Properties set to -Damqj.logging.level=info
> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> Using QPID_CLASSPATH /opt/qpid-java-broker/lib/*:/o
> pt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> -XX:+HeapDumpOnOutOfMemoryError
> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
> Exception during startup: java.lang.IllegalArgumentException:
> Configuration property argument is not of the format name=value:
> ../etc/qpidd.properties
> java.lang.IllegalArgumentException: Configuration property argument is
> not of the format name=value: ../etc/qpidd.properties
>     at org.apache.qpid.server.Main.execute(Main.java:226)
>     at org.apache.qpid.server.Main.<init>(Main.java:134)
>     at org.apache.qpid.server.Main.main(Main.java:125)
>
>
> ./qpid-server -icp ../etc/initial_config.json -props
> ../etc/qpidd.properties
>
> System Properties set to -Damqj.logging.level=info
> -DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
> QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
> Using QPID_CLASSPATH /opt/qpid-java-broker/lib/*:/o
> pt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
> Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
> -XX:+HeapDumpOnOutOfMemoryError
> Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
>
>
>
>
> *Error: Unrecognized option: -props*
> How do i change this block from initial configuration to use Anonymous?
>
> {
>   "name": "Broker",
>   "storeVersion": 1,
>   "modelVersion": "1.2",
>   "defaultVirtualHost" : "default",
>   "authenticationproviders" : [ {
>     "name" : "passwordFile",
>     "type" : "PlainPasswordFile",
>     "path" : "${qpid.home_dir}/etc/passwd",
>     "preferencesproviders" : [{
>         "name": "fileSystemPreferences",
>         "type": "FileSystemPreferences",
>         "path" : "${qpid.work_dir}/user.preferences.json"
>     }]
>   } ],
>
> On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
>> Hi Ram,
>>
>> so one approach to this would be to define you authentication providers up
>> from in your config file, so you have an an Anonymous provider named
>> "anonymous" and a password file provider named "passwordFile" or
>> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
>> parameterise the value they have for the name of the auth provider they
>> are
>> using.  So your initial JSON config file could contain something like:
>>
>> "ports" : [  {
>>   "name" : "AMQP",
>>   "port" : "${qpid.amqp_port}",
>>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>>
>>
>> and then you could override which provider to use at runtime by setting
>> the
>> property qpid.amqp_port_authenticationProvider to anonymous or
>> passwordFile
>> (or the name of any other authentication provider that is defined in your
>> JSON config.
>>
>> The only thing you can't do with properties is to add new entities into
>> the
>> config - that you have to do either by editing the file, or by using the
>> REST api to modify the broker configuration while it is running.
>>
>> Hope this helps,
>> Rob
>>
>> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
>> wrote:
>>
>> > Rob,
>> >
>> > Thanks for detailed explanation, i wanted to restart with the changed
>> > properties if any for example today i have Anonymous SASL and later i
>> may
>> > want to use password file. How do i pass SASL mechanism as -prop?
>> >
>> > Thanks,
>> > Ram
>> >
>> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
>> > wrote:
>> >
>> > > Hi Ram,
>> > >
>> > > The initial config file is only used when there is no broker config -
>> the
>> > > idea is that it is used to populate the broker config on first
>> startup.
>> > > Once there is a broker config file then this is used (since it may
>> have
>> > > been updated by creating or modifying entities through the management
>> > > functions).  The broker ships with a default initial config which is
>> > > contained within its jar files, however we allow people to provide
>> there
>> > > own.  Records in the config file a copied verbatim into the config
>> store
>> > -
>> > > the only difference being that ids are generated for each entity.  The
>> > > interpolation from property names to values is done each time the
>> broker
>> > > reads the config.  If the broker finds there is config in the store
>> path
>> > > then it completely ignores the initial config - it does not examine
>> any
>> > > differences.
>> > >
>> > > Are you looking to start a completely fresh broker each time, or
>> merely
>> > to
>> > > be able to change certain properties (such as port numbers) on each
>> > > restart?  If you do not want to retain any changes to the broker
>> > > configuration made while the broker is actually running, then you
>> could
>> > use
>> > > a "memory" config store rather than a Json one.  If you want to retain
>> > any
>> > > changes made through management, but desire the ability to change
>> certain
>> > > properties (like ports) on each startup, then you don't need to worry
>> > about
>> > > the fact that the initial configuration is only loaded the first time
>> -
>> > you
>> > > just need to pass in the property values you want on startup.
>> > >
>> > > In terms of an example system properties file...  The default
>> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
>> the
>> > > http port to run on ${qpid.http_port}, so if I create a properties
>> file
>> > > called rob.properties which contains
>> > >
>> > > qpid.http_port=8888
>> > > qpid.amqp_port=5555
>> > >
>> > > and then run qpid with the argument -props rob.properties then I
>> get...
>> > >
>> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
>> > > [Broker] MNG-1001 : Web Management Startup
>> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
>> > >
>> > >
>> > > So, when you use your initial or stored config you just need to ensure
>> > all
>> > > the variables you use in your config are set in your properties file
>> > (some
>> > > properties have defaults within the code if they are not otherwise
>> set -
>> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
>> > >
>> > > Hope this helps,
>> > > Rob
>> > >
>> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
>> rammohanganap@gmail.com
>> > >
>> > > wrote:
>> > >
>> > > > Rob,
>> > > >
>> > > > Thank you, one more question on -icp and -sp, so what if i have
>> updated
>> > > icp
>> > > > with some property change  and restarted broker with icp (every
>> time i
>> > > > restart broker i am using initial config
>> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
>> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right
>> way or
>> > > > not), does it automatically update config file in -sp? i my case it
>> did
>> > > not
>> > > > updated the config file in store-path upon restart. What will
>> happened
>> > > if i
>> > > > have differences in initial config file that i use to start broker
>> and
>> > > the
>> > > > config file under store-path?
>> > > >
>> > > > Thanks,
>> > > > Ram
>> > > >
>> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <
>> rob.j.godfrey@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > This looks like a client error to me... the line which says:
>> > > > >
>> > > > >  Client restricted itself to : PLAIN
>> > > > >
>> > > > > Out of interest what happens if you remove the
>> > &sasl_mechs='ANONYMOUS'
>> > > > from
>> > > > > your connection URL?  Without any sort of restriction I'd expect
>> the
>> > > > client
>> > > > > to do the right thing.
>> > > > >
>> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper
>> look
>> > in
>> > > > the
>> > > > > morning.
>> > > > >
>> > > > > -- Rob
>> > > > >
>> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
>> > > rammohanganap@gmail.com
>> > > > >
>> > > > > wrote:
>> > > > >
>> > > > > > Rob,
>> > > > > >
>> > > > > > thanks for the explanation, do you have a sample
>> > > > > --system-properties-file?
>> > > > > > that i can take a look?
>> > > > > >
>> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
>> error, i
>> > > am
>> > > > > not
>> > > > > > a developer, i am ops guy and i dont want to change the existing
>> > code
>> > > > but
>> > > > > > wanted to make java qpid work. This is the error i am getting
>> with
>> > > > > 6.0.1v..
>> > > > > >
>> > > > > > 2016-04-07 22:32:36,726
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > url=amqp://null:********@qphost011460067563391/?brokerlist='
>> tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Unknown virtualhost '' username=null
>> > > > > > 2016-04-07 22:32:36,731
>> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db
>> ERROR
>> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
>> > > > connecting
>> > > > > > to Connection : 0 Host = qphost01
>> > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> > url=amqp://null:********@qphost011460067563391/?brokerlist='
>> tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
>> > > > > > error Client and broker have no SASL mechanisms in common.
>> Broker
>> > > > allows
>> > > > > :
>> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
>> > CRAM-MD5,
>> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
>> > > > > > username=guest
>> > > > > >
>> > > > > >
>> > > > > > And here is my sasl mechanism.
>> > > > > >
>> > > > > > curl -s 0:10001/service/sasl
>> > > > > > {
>> > > > > >   "user" : "ANONYMOUS",
>> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
>> > > > > >
>> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
>> > working.
>> > > > > >
>> > > > > >
>> > > > > > Thanks,
>> > > > > > Ram
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
>> > rob.j.godfrey@gmail.com
>> > > >
>> > > > > > wrote:
>> > > > > >
>> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
>> > > > > rammohanganap@gmail.com
>> > > > > > >
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Rob,
>> > > > > > > >
>> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last
>> time
>> > > when
>> > > > i
>> > > > > > try
>> > > > > > > to
>> > > > > > > > use .32 it was not working with Anonymous.
>> > > > > > > >
>> > > > > > >
>> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you
>> using
>> > > > (0-9-1,
>> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
>> > 0.32
>> > > > > > however
>> > > > > > > I think in 0.32 the "no authentication layer at all" option
>> for
>> > > AMQP
>> > > > > 1.0
>> > > > > > > probably didn't work (this is different to an authentication
>> > layer
>> > > > > which
>> > > > > > > allows anonymous).
>> > > > > > >
>> > > > > > >
>> > > > > > > >
>> > > > > > > > Sorry i was not clear in my previous email, i was taking
>> about
>> > > > > > properties
>> > > > > > > > file not broker storage format, the use case is if i wanted
>> to
>> > > > > override
>> > > > > > > > some of these properties and i have my own custom
>> tool/script
>> > > that
>> > > > > > goes
>> > > > > > > > through the properties files and replace with the override i
>> > > > defined,
>> > > > > > so
>> > > > > > > i
>> > > > > > > > want to use the same tool/script for qpid config as well. My
>> > tool
>> > > > > only
>> > > > > > > > support key:value but if we have json array it wont work. So
>> > if i
>> > > > > want
>> > > > > > to
>> > > > > > > > pass overrides as "-prop"  command line arguments what are
>> the
>> > > > > > properties
>> > > > > > > > that java qpid support as command line?
>> > > > > > > >
>> > > > > > > > Below if my config, is it possible to pass all these as
>> command
>> > > > line
>> > > > > > > > arguments?
>> > > > > > > >
>> > > > > > > > {
>> > > > > > > >   "authenticationproviders" : [ {
>> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>> > > > > > > >     "name" : "Anonymous",
>> > > > > > > >     "type" : "Anonymous"
>> > > > > > > >   } ],
>> > > > > > > >   "defaultVirtualHost" : "default",
>> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>> > > > > > > >   "modelVersion" : "1.3",
>> > > > > > > >   "name" : "Broker",
>> > > > > > > >   "plugins" : [ {
>> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>> > > > > > > >     "name" : "httpManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
>> > > > > > > >   }, {
>> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>> > > > > > > >     "name" : "jmxManagement",
>> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
>> > > > > > > >   } ],
>> > > > > > > >   "ports" : [ {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>> > > > > > > >     "name" : "JMX_CONNECTOR",
>> > > > > > > >     "port" : "9099",
>> > > > > > > >     "protocols" : [ "JMX_RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>> > > > > > > >     "name" : "RMI_REGISTRY",
>> > > > > > > >     "port" : "8999",
>> > > > > > > >     "protocols" : [ "RMI" ]
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>> > > > > > > >     "name" : "AMQP",
>> > > > > > > >     "port" : "5672"
>> > > > > > > >   }, {
>> > > > > > > >     "authenticationProvider" : "Anonymous",
>> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>> > > > > > > >     "name" : "HTTP",
>> > > > > > > >     "port" : "10001",
>> > > > > > > >     "protocols" : [ "HTTP" ]
>> > > > > > > >   } ],
>> > > > > > > >   "storeVersion" : 1,
>> > > > > > > >   "virtualhosts" : [ {
>> > > > > > > >     "createdTime" : 1439482250329,
>> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>> > > > > > > >     "name" : "default",
>> > > > > > > >     "storePath" : "/ebs//derbystore/default",
>> > > > > > > >     "storeType" : "DERBY",
>> > > > > > > >     "type" : "STANDARD"
>> > > > > > > >   } ]
>> > > > > > > > }
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > In 6.0 you can replace any value in the JSON with a reference
>> to
>> > a
>> > > > > > > property, for example
>> > > > > > >
>> > > > > > > "name" : "${myPortName}",
>> > > > > > >
>> > > > > > > this will then interpolate the value from the property, so if
>> you
>> > > set
>> > > > > the
>> > > > > > > property myPortName to "RobsPort" that will be the value used.
>> > > Type
>> > > > > > > conversions will be performed, so if the required value is an
>> > > integer
>> > > > > it
>> > > > > > > will convert to an integer.  If the value required is a list
>> then
>> > > you
>> > > > > can
>> > > > > > > use a String representation of a list in Json format.
>> > > > > > >
>> > > > > > > You can set the properties individually, or you can pass in a
>> > > > > properties
>> > > > > > > file using -props or --system-properties-file (so if you have
>> a
>> > > > > > properties
>> > > > > > > file already maybe you can just pass this in).
>> > > > > > >
>> > > > > > >
>> > > > > > > > One more question or may be clarification is,
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > *-sp (--store-path) is the path of config file that will
>> > > generated
>> > > > by
>> > > > > > > qpidd
>> > > > > > > > from the initial config right? what is the use of
>> store-path?*
>> > > > > > > >
>> > > > > > > >
>> > > > > > > That is correct.  Some people just like to have config files
>> in a
>> > > > > > > non-default location :-)
>> > > > > > >
>> > > > > > > Hope this helps,
>> > > > > > > Rob
>> > > > > > >
>> > > > > > >
>> > > > > > > > *Thanks,*
>> > > > > > > >
>> > > > > > > > *Ram*
>> > > > > > > >
>> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
>> > > > rob.j.godfrey@gmail.com
>> > > > > >
>> > > > > > > > wrote:
>> > > > > > > >
>> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend
>> updating
>> > to
>> > > > > v6.0.1
>> > > > > > > if
>> > > > > > > > > you can.
>> > > > > > > > >
>> > > > > > > > > Secondly I'm not sure I understand your question - are you
>> > > asking
>> > > > > > about
>> > > > > > > > > overriding particular properties, or the storage format
>> for
>> > the
>> > > > > > broker
>> > > > > > > > > configuration - these are two different things.  In terms
>> of
>> > > > > > > properties /
>> > > > > > > > > context overrides this can be specified using a properties
>> > file
>> > > > (at
>> > > > > > > least
>> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In
>> terms of
>> > > the
>> > > > > > > > > configuration, JSON is currently the only text based
>> format
>> > > > > > supported.
>> > > > > > > > You
>> > > > > > > > > can use a database for the broker config storage, there
>> are
>> > > built
>> > > > > in
>> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
>> > > stores.
>> > > > > > > > >
>> > > > > > > > > May I ask what advantage you would get by using YAML or
>> > > > properties
>> > > > > > > files
>> > > > > > > > > instead of JSON?
>> > > > > > > > >
>> > > > > > > > > -- Rob
>> > > > > > > > >
>> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
>> > > > > > > rammohanganap@gmail.com
>> > > > > > > > >
>> > > > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > > > Hi,
>> > > > > > > > > >
>> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
>> > > > .properties
>> > > > > > > file
>> > > > > > > > or
>> > > > > > > > > > .xml or .yaml file instead of .json file? or what are
>> the
>> > > other
>> > > > > > ways
>> > > > > > > to
>> > > > > > > > > > pass override properties instead of JSON config file?
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > Thanks,
>> > > > > > > > > > Ram
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

I tried passing properties file as argument but it didnt like it. Does it
support in 0.28v?


./qpid-server -icp ../etc/initial_config.json -prop ../etc/qpidd.properties

System Properties set to -Damqj.logging.level=info
-DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
Using QPID_CLASSPATH
/opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
-XX:+HeapDumpOnOutOfMemoryError
Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
Exception during startup: java.lang.IllegalArgumentException: Configuration
property argument is not of the format name=value: ../etc/qpidd.properties
java.lang.IllegalArgumentException: Configuration property argument is not
of the format name=value: ../etc/qpidd.properties
    at org.apache.qpid.server.Main.execute(Main.java:226)
    at org.apache.qpid.server.Main.<init>(Main.java:134)
    at org.apache.qpid.server.Main.main(Main.java:125)


./qpid-server -icp ../etc/initial_config.json -props ../etc/qpidd.properties

System Properties set to -Damqj.logging.level=info
-DQPID_HOME=/opt/qpid-java-broker -DQPID_WORK=/ebs/
QPID_OPTS set to -Damqj.read_write_pool_size=32 -DQPID_LOG_APPEND=
Using QPID_CLASSPATH
/opt/qpid-java-broker/lib/*:/opt/qpid-java-broker/lib/plugins/*:/opt/qpid-java-broker/lib/opt/*
Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
-XX:+HeapDumpOnOutOfMemoryError
Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m




*Error: Unrecognized option: -props*
How do i change this block from initial configuration to use Anonymous?

{
  "name": "Broker",
  "storeVersion": 1,
  "modelVersion": "1.2",
  "defaultVirtualHost" : "default",
  "authenticationproviders" : [ {
    "name" : "passwordFile",
    "type" : "PlainPasswordFile",
    "path" : "${qpid.home_dir}/etc/passwd",
    "preferencesproviders" : [{
        "name": "fileSystemPreferences",
        "type": "FileSystemPreferences",
        "path" : "${qpid.work_dir}/user.preferences.json"
    }]
  } ],

On Fri, Apr 8, 2016 at 10:26 AM, Rob Godfrey <ro...@gmail.com>
wrote:

> Hi Ram,
>
> so one approach to this would be to define you authentication providers up
> from in your config file, so you have an an Anonymous provider named
> "anonymous" and a password file provider named "passwordFile" or
> something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
> parameterise the value they have for the name of the auth provider they are
> using.  So your initial JSON config file could contain something like:
>
> "ports" : [  {
>   "name" : "AMQP",
>   "port" : "${qpid.amqp_port}",
>   "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",
>
>
> and then you could override which provider to use at runtime by setting the
> property qpid.amqp_port_authenticationProvider to anonymous or passwordFile
> (or the name of any other authentication provider that is defined in your
> JSON config.
>
> The only thing you can't do with properties is to add new entities into the
> config - that you have to do either by editing the file, or by using the
> REST api to modify the broker configuration while it is running.
>
> Hope this helps,
> Rob
>
> On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Thanks for detailed explanation, i wanted to restart with the changed
> > properties if any for example today i have Anonymous SASL and later i may
> > want to use password file. How do i pass SASL mechanism as -prop?
> >
> > Thanks,
> > Ram
> >
> > On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Hi Ram,
> > >
> > > The initial config file is only used when there is no broker config -
> the
> > > idea is that it is used to populate the broker config on first startup.
> > > Once there is a broker config file then this is used (since it may have
> > > been updated by creating or modifying entities through the management
> > > functions).  The broker ships with a default initial config which is
> > > contained within its jar files, however we allow people to provide
> there
> > > own.  Records in the config file a copied verbatim into the config
> store
> > -
> > > the only difference being that ids are generated for each entity.  The
> > > interpolation from property names to values is done each time the
> broker
> > > reads the config.  If the broker finds there is config in the store
> path
> > > then it completely ignores the initial config - it does not examine any
> > > differences.
> > >
> > > Are you looking to start a completely fresh broker each time, or merely
> > to
> > > be able to change certain properties (such as port numbers) on each
> > > restart?  If you do not want to retain any changes to the broker
> > > configuration made while the broker is actually running, then you could
> > use
> > > a "memory" config store rather than a Json one.  If you want to retain
> > any
> > > changes made through management, but desire the ability to change
> certain
> > > properties (like ports) on each startup, then you don't need to worry
> > about
> > > the fact that the initial configuration is only loaded the first time -
> > you
> > > just need to pass in the property values you want on startup.
> > >
> > > In terms of an example system properties file...  The default
> > > initial-config.json defines the amqp port to be ${qpid.amqp_port} and
> the
> > > http port to run on ${qpid.http_port}, so if I create a properties file
> > > called rob.properties which contains
> > >
> > > qpid.http_port=8888
> > > qpid.amqp_port=5555
> > >
> > > and then run qpid with the argument -props rob.properties then I get...
> > >
> > > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > > [Broker] MNG-1001 : Web Management Startup
> > > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> > >
> > >
> > > So, when you use your initial or stored config you just need to ensure
> > all
> > > the variables you use in your config are set in your properties file
> > (some
> > > properties have defaults within the code if they are not otherwise set
> -
> > > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
> > >
> > > Hope this helps,
> > > Rob
> > >
> > > On 8 April 2016 at 00:41, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > Thank you, one more question on -icp and -sp, so what if i have
> updated
> > > icp
> > > > with some property change  and restarted broker with icp (every time
> i
> > > > restart broker i am using initial config
> > > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > > /opt/qpid-java-broker/etc/config.json" not sure if its is right way
> or
> > > > not), does it automatically update config file in -sp? i my case it
> did
> > > not
> > > > updated the config file in store-path upon restart. What will
> happened
> > > if i
> > > > have differences in initial config file that i use to start broker
> and
> > > the
> > > > config file under store-path?
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > > wrote:
> > > >
> > > > > This looks like a client error to me... the line which says:
> > > > >
> > > > >  Client restricted itself to : PLAIN
> > > > >
> > > > > Out of interest what happens if you remove the
> > &sasl_mechs='ANONYMOUS'
> > > > from
> > > > > your connection URL?  Without any sort of restriction I'd expect
> the
> > > > client
> > > > > to do the right thing.
> > > > >
> > > > > I need to get to sleep now (1am here :-) )... I'll have deeper look
> > in
> > > > the
> > > > > morning.
> > > > >
> > > > > -- Rob
> > > > >
> > > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Rob,
> > > > > >
> > > > > > thanks for the explanation, do you have a sample
> > > > > --system-properties-file?
> > > > > > that i can take a look?
> > > > > >
> > > > > > Also i just tried 6.0.1 but my client/app is throwing this
> error, i
> > > am
> > > > > not
> > > > > > a developer, i am ops guy and i dont want to change the existing
> > code
> > > > but
> > > > > > wanted to make java qpid work. This is the error i am getting
> with
> > > > > 6.0.1v..
> > > > > >
> > > > > > 2016-04-07 22:32:36,726
> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > > connecting
> > > > > > to Connection : 0 Host = qphost01
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > error Unknown virtualhost '' username=null
> > > > > > 2016-04-07 22:32:36,731
> > > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > > connecting
> > > > > > to Connection : 0 Host = qphost01
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > > error Client and broker have no SASL mechanisms in common. Broker
> > > > allows
> > > > > :
> > > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> > CRAM-MD5,
> > > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > > > > > username=guest
> > > > > >
> > > > > >
> > > > > > And here is my sasl mechanism.
> > > > > >
> > > > > > curl -s 0:10001/service/sasl
> > > > > > {
> > > > > >   "user" : "ANONYMOUS",
> > > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > > >
> > > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> > working.
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Ram
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> > rob.j.godfrey@gmail.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > > rammohanganap@gmail.com
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Rob,
> > > > > > > >
> > > > > > > > Does v6.0.1 support Anonymous or no authentication? last time
> > > when
> > > > i
> > > > > > try
> > > > > > > to
> > > > > > > > use .32 it was not working with Anonymous.
> > > > > > > >
> > > > > > >
> > > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you using
> > > > (0-9-1,
> > > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
> > 0.32
> > > > > > however
> > > > > > > I think in 0.32 the "no authentication layer at all" option for
> > > AMQP
> > > > > 1.0
> > > > > > > probably didn't work (this is different to an authentication
> > layer
> > > > > which
> > > > > > > allows anonymous).
> > > > > > >
> > > > > > >
> > > > > > > >
> > > > > > > > Sorry i was not clear in my previous email, i was taking
> about
> > > > > > properties
> > > > > > > > file not broker storage format, the use case is if i wanted
> to
> > > > > override
> > > > > > > > some of these properties and i have my own custom tool/script
> > > that
> > > > > > goes
> > > > > > > > through the properties files and replace with the override i
> > > > defined,
> > > > > > so
> > > > > > > i
> > > > > > > > want to use the same tool/script for qpid config as well. My
> > tool
> > > > > only
> > > > > > > > support key:value but if we have json array it wont work. So
> > if i
> > > > > want
> > > > > > to
> > > > > > > > pass overrides as "-prop"  command line arguments what are
> the
> > > > > > properties
> > > > > > > > that java qpid support as command line?
> > > > > > > >
> > > > > > > > Below if my config, is it possible to pass all these as
> command
> > > > line
> > > > > > > > arguments?
> > > > > > > >
> > > > > > > > {
> > > > > > > >   "authenticationproviders" : [ {
> > > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > > > >     "name" : "Anonymous",
> > > > > > > >     "type" : "Anonymous"
> > > > > > > >   } ],
> > > > > > > >   "defaultVirtualHost" : "default",
> > > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > > > >   "modelVersion" : "1.3",
> > > > > > > >   "name" : "Broker",
> > > > > > > >   "plugins" : [ {
> > > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > > > >     "name" : "httpManagement",
> > > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > > > >   }, {
> > > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > > > >     "name" : "jmxManagement",
> > > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > > > >   } ],
> > > > > > > >   "ports" : [ {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > > > >     "name" : "JMX_CONNECTOR",
> > > > > > > >     "port" : "9099",
> > > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > > > >     "name" : "RMI_REGISTRY",
> > > > > > > >     "port" : "8999",
> > > > > > > >     "protocols" : [ "RMI" ]
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > > > >     "name" : "AMQP",
> > > > > > > >     "port" : "5672"
> > > > > > > >   }, {
> > > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > > > >     "name" : "HTTP",
> > > > > > > >     "port" : "10001",
> > > > > > > >     "protocols" : [ "HTTP" ]
> > > > > > > >   } ],
> > > > > > > >   "storeVersion" : 1,
> > > > > > > >   "virtualhosts" : [ {
> > > > > > > >     "createdTime" : 1439482250329,
> > > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > > > >     "name" : "default",
> > > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > > > >     "storeType" : "DERBY",
> > > > > > > >     "type" : "STANDARD"
> > > > > > > >   } ]
> > > > > > > > }
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > In 6.0 you can replace any value in the JSON with a reference
> to
> > a
> > > > > > > property, for example
> > > > > > >
> > > > > > > "name" : "${myPortName}",
> > > > > > >
> > > > > > > this will then interpolate the value from the property, so if
> you
> > > set
> > > > > the
> > > > > > > property myPortName to "RobsPort" that will be the value used.
> > > Type
> > > > > > > conversions will be performed, so if the required value is an
> > > integer
> > > > > it
> > > > > > > will convert to an integer.  If the value required is a list
> then
> > > you
> > > > > can
> > > > > > > use a String representation of a list in Json format.
> > > > > > >
> > > > > > > You can set the properties individually, or you can pass in a
> > > > > properties
> > > > > > > file using -props or --system-properties-file (so if you have a
> > > > > > properties
> > > > > > > file already maybe you can just pass this in).
> > > > > > >
> > > > > > >
> > > > > > > > One more question or may be clarification is,
> > > > > > > >
> > > > > > > >
> > > > > > > > *-sp (--store-path) is the path of config file that will
> > > generated
> > > > by
> > > > > > > qpidd
> > > > > > > > from the initial config right? what is the use of
> store-path?*
> > > > > > > >
> > > > > > > >
> > > > > > > That is correct.  Some people just like to have config files
> in a
> > > > > > > non-default location :-)
> > > > > > >
> > > > > > > Hope this helps,
> > > > > > > Rob
> > > > > > >
> > > > > > >
> > > > > > > > *Thanks,*
> > > > > > > >
> > > > > > > > *Ram*
> > > > > > > >
> > > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > > rob.j.godfrey@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Firstly, 0.28 is quite old now - I would recommend updating
> > to
> > > > > v6.0.1
> > > > > > > if
> > > > > > > > > you can.
> > > > > > > > >
> > > > > > > > > Secondly I'm not sure I understand your question - are you
> > > asking
> > > > > > about
> > > > > > > > > overriding particular properties, or the storage format for
> > the
> > > > > > broker
> > > > > > > > > configuration - these are two different things.  In terms
> of
> > > > > > > properties /
> > > > > > > > > context overrides this can be specified using a properties
> > file
> > > > (at
> > > > > > > least
> > > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In terms
> of
> > > the
> > > > > > > > > configuration, JSON is currently the only text based format
> > > > > > supported.
> > > > > > > > You
> > > > > > > > > can use a database for the broker config storage, there are
> > > built
> > > > > in
> > > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
> > > stores.
> > > > > > > > >
> > > > > > > > > May I ask what advantage you would get by using YAML or
> > > > properties
> > > > > > > files
> > > > > > > > > instead of JSON?
> > > > > > > > >
> > > > > > > > > -- Rob
> > > > > > > > >
> > > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > > > > rammohanganap@gmail.com
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi,
> > > > > > > > > >
> > > > > > > > > > Is there any way to start qpid-java-0.28 broker using
> > > > .properties
> > > > > > > file
> > > > > > > > or
> > > > > > > > > > .xml or .yaml file instead of .json file? or what are the
> > > other
> > > > > > ways
> > > > > > > to
> > > > > > > > > > pass override properties instead of JSON config file?
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Thanks,
> > > > > > > > > > Ram
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

so one approach to this would be to define you authentication providers up
from in your config file, so you have an an Anonymous provider named
"anonymous" and a password file provider named "passwordFile" or
something.  Then in the port sections (AMQP, HTTP, JMX, etc) you can
parameterise the value they have for the name of the auth provider they are
using.  So your initial JSON config file could contain something like:

"ports" : [  {
  "name" : "AMQP",
  "port" : "${qpid.amqp_port}",
  "authenticationProvider" : "${qpid.amqp_port_authenticationProvider}",


and then you could override which provider to use at runtime by setting the
property qpid.amqp_port_authenticationProvider to anonymous or passwordFile
(or the name of any other authentication provider that is defined in your
JSON config.

The only thing you can't do with properties is to add new entities into the
config - that you have to do either by editing the file, or by using the
REST api to modify the broker configuration while it is running.

Hope this helps,
Rob

On 8 April 2016 at 18:04, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> Thanks for detailed explanation, i wanted to restart with the changed
> properties if any for example today i have Anonymous SASL and later i may
> want to use password file. How do i pass SASL mechanism as -prop?
>
> Thanks,
> Ram
>
> On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > Hi Ram,
> >
> > The initial config file is only used when there is no broker config - the
> > idea is that it is used to populate the broker config on first startup.
> > Once there is a broker config file then this is used (since it may have
> > been updated by creating or modifying entities through the management
> > functions).  The broker ships with a default initial config which is
> > contained within its jar files, however we allow people to provide there
> > own.  Records in the config file a copied verbatim into the config store
> -
> > the only difference being that ids are generated for each entity.  The
> > interpolation from property names to values is done each time the broker
> > reads the config.  If the broker finds there is config in the store path
> > then it completely ignores the initial config - it does not examine any
> > differences.
> >
> > Are you looking to start a completely fresh broker each time, or merely
> to
> > be able to change certain properties (such as port numbers) on each
> > restart?  If you do not want to retain any changes to the broker
> > configuration made while the broker is actually running, then you could
> use
> > a "memory" config store rather than a Json one.  If you want to retain
> any
> > changes made through management, but desire the ability to change certain
> > properties (like ports) on each startup, then you don't need to worry
> about
> > the fact that the initial configuration is only loaded the first time -
> you
> > just need to pass in the property values you want on startup.
> >
> > In terms of an example system properties file...  The default
> > initial-config.json defines the amqp port to be ${qpid.amqp_port} and the
> > http port to run on ${qpid.http_port}, so if I create a properties file
> > called rob.properties which contains
> >
> > qpid.http_port=8888
> > qpid.amqp_port=5555
> >
> > and then run qpid with the argument -props rob.properties then I get...
> >
> > [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> > [Broker] MNG-1001 : Web Management Startup
> > [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
> >
> >
> > So, when you use your initial or stored config you just need to ensure
> all
> > the variables you use in your config are set in your properties file
> (some
> > properties have defaults within the code if they are not otherwise set -
> > e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
> >
> > Hope this helps,
> > Rob
> >
> > On 8 April 2016 at 00:41, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> > wrote:
> >
> > > Rob,
> > >
> > > Thank you, one more question on -icp and -sp, so what if i have updated
> > icp
> > > with some property change  and restarted broker with icp (every time i
> > > restart broker i am using initial config
> > > "/opt/qpid-java-broker/bin/qpid-server -icp
> > > /opt/qpid-java-broker/etc/config.json" not sure if its is right way or
> > > not), does it automatically update config file in -sp? i my case it did
> > not
> > > updated the config file in store-path upon restart. What will happened
> > if i
> > > have differences in initial config file that i use to start broker and
> > the
> > > config file under store-path?
> > >
> > > Thanks,
> > > Ram
> > >
> > > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > > > This looks like a client error to me... the line which says:
> > > >
> > > >  Client restricted itself to : PLAIN
> > > >
> > > > Out of interest what happens if you remove the
> &sasl_mechs='ANONYMOUS'
> > > from
> > > > your connection URL?  Without any sort of restriction I'd expect the
> > > client
> > > > to do the right thing.
> > > >
> > > > I need to get to sleep now (1am here :-) )... I'll have deeper look
> in
> > > the
> > > > morning.
> > > >
> > > > -- Rob
> > > >
> > > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Rob,
> > > > >
> > > > > thanks for the explanation, do you have a sample
> > > > --system-properties-file?
> > > > > that i can take a look?
> > > > >
> > > > > Also i just tried 6.0.1 but my client/app is throwing this error, i
> > am
> > > > not
> > > > > a developer, i am ops guy and i dont want to change the existing
> code
> > > but
> > > > > wanted to make java qpid work. This is the error i am getting with
> > > > 6.0.1v..
> > > > >
> > > > > 2016-04-07 22:32:36,726
> > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > connecting
> > > > > to Connection : 0 Host = qphost01
> > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > error Unknown virtualhost '' username=null
> > > > > 2016-04-07 22:32:36,731
> > > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > > connecting
> > > > > to Connection : 0 Host = qphost01
> > > > >
> > > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > > error Client and broker have no SASL mechanisms in common. Broker
> > > allows
> > > > :
> > > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED,
> CRAM-MD5,
> > > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > > > > username=guest
> > > > >
> > > > >
> > > > > And here is my sasl mechanism.
> > > > >
> > > > > curl -s 0:10001/service/sasl
> > > > > {
> > > > >   "user" : "ANONYMOUS",
> > > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > > >
> > > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not
> working.
> > > > >
> > > > >
> > > > > Thanks,
> > > > > Ram
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <
> rob.j.godfrey@gmail.com
> > >
> > > > > wrote:
> > > > >
> > > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com
> > > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Rob,
> > > > > > >
> > > > > > > Does v6.0.1 support Anonymous or no authentication? last time
> > when
> > > i
> > > > > try
> > > > > > to
> > > > > > > use .32 it was not working with Anonymous.
> > > > > > >
> > > > > >
> > > > > > Yes, Anonymous is supported.  Which AMQP protocol are you using
> > > (0-9-1,
> > > > > > 0-10, or 1.0)... I would expect that Anonymous should work on
> 0.32
> > > > > however
> > > > > > I think in 0.32 the "no authentication layer at all" option for
> > AMQP
> > > > 1.0
> > > > > > probably didn't work (this is different to an authentication
> layer
> > > > which
> > > > > > allows anonymous).
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Sorry i was not clear in my previous email, i was taking about
> > > > > properties
> > > > > > > file not broker storage format, the use case is if i wanted to
> > > > override
> > > > > > > some of these properties and i have my own custom tool/script
> > that
> > > > > goes
> > > > > > > through the properties files and replace with the override i
> > > defined,
> > > > > so
> > > > > > i
> > > > > > > want to use the same tool/script for qpid config as well. My
> tool
> > > > only
> > > > > > > support key:value but if we have json array it wont work. So
> if i
> > > > want
> > > > > to
> > > > > > > pass overrides as "-prop"  command line arguments what are the
> > > > > properties
> > > > > > > that java qpid support as command line?
> > > > > > >
> > > > > > > Below if my config, is it possible to pass all these as command
> > > line
> > > > > > > arguments?
> > > > > > >
> > > > > > > {
> > > > > > >   "authenticationproviders" : [ {
> > > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > > >     "name" : "Anonymous",
> > > > > > >     "type" : "Anonymous"
> > > > > > >   } ],
> > > > > > >   "defaultVirtualHost" : "default",
> > > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > > >   "modelVersion" : "1.3",
> > > > > > >   "name" : "Broker",
> > > > > > >   "plugins" : [ {
> > > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > > >     "name" : "httpManagement",
> > > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > > >   }, {
> > > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > > >     "name" : "jmxManagement",
> > > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > > >   } ],
> > > > > > >   "ports" : [ {
> > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > > >     "name" : "JMX_CONNECTOR",
> > > > > > >     "port" : "9099",
> > > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > > >   }, {
> > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > > >     "name" : "RMI_REGISTRY",
> > > > > > >     "port" : "8999",
> > > > > > >     "protocols" : [ "RMI" ]
> > > > > > >   }, {
> > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > > >     "name" : "AMQP",
> > > > > > >     "port" : "5672"
> > > > > > >   }, {
> > > > > > >     "authenticationProvider" : "Anonymous",
> > > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > > >     "name" : "HTTP",
> > > > > > >     "port" : "10001",
> > > > > > >     "protocols" : [ "HTTP" ]
> > > > > > >   } ],
> > > > > > >   "storeVersion" : 1,
> > > > > > >   "virtualhosts" : [ {
> > > > > > >     "createdTime" : 1439482250329,
> > > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > > >     "name" : "default",
> > > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > > >     "storeType" : "DERBY",
> > > > > > >     "type" : "STANDARD"
> > > > > > >   } ]
> > > > > > > }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > In 6.0 you can replace any value in the JSON with a reference to
> a
> > > > > > property, for example
> > > > > >
> > > > > > "name" : "${myPortName}",
> > > > > >
> > > > > > this will then interpolate the value from the property, so if you
> > set
> > > > the
> > > > > > property myPortName to "RobsPort" that will be the value used.
> > Type
> > > > > > conversions will be performed, so if the required value is an
> > integer
> > > > it
> > > > > > will convert to an integer.  If the value required is a list then
> > you
> > > > can
> > > > > > use a String representation of a list in Json format.
> > > > > >
> > > > > > You can set the properties individually, or you can pass in a
> > > > properties
> > > > > > file using -props or --system-properties-file (so if you have a
> > > > > properties
> > > > > > file already maybe you can just pass this in).
> > > > > >
> > > > > >
> > > > > > > One more question or may be clarification is,
> > > > > > >
> > > > > > >
> > > > > > > *-sp (--store-path) is the path of config file that will
> > generated
> > > by
> > > > > > qpidd
> > > > > > > from the initial config right? what is the use of store-path?*
> > > > > > >
> > > > > > >
> > > > > > That is correct.  Some people just like to have config files in a
> > > > > > non-default location :-)
> > > > > >
> > > > > > Hope this helps,
> > > > > > Rob
> > > > > >
> > > > > >
> > > > > > > *Thanks,*
> > > > > > >
> > > > > > > *Ram*
> > > > > > >
> > > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > > rob.j.godfrey@gmail.com
> > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Firstly, 0.28 is quite old now - I would recommend updating
> to
> > > > v6.0.1
> > > > > > if
> > > > > > > > you can.
> > > > > > > >
> > > > > > > > Secondly I'm not sure I understand your question - are you
> > asking
> > > > > about
> > > > > > > > overriding particular properties, or the storage format for
> the
> > > > > broker
> > > > > > > > configuration - these are two different things.  In terms of
> > > > > > properties /
> > > > > > > > context overrides this can be specified using a properties
> file
> > > (at
> > > > > > least
> > > > > > > > in v6 - I forget exactly how it worked on 0.28).  In terms of
> > the
> > > > > > > > configuration, JSON is currently the only text based format
> > > > > supported.
> > > > > > > You
> > > > > > > > can use a database for the broker config storage, there are
> > built
> > > > in
> > > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
> > stores.
> > > > > > > >
> > > > > > > > May I ask what advantage you would get by using YAML or
> > > properties
> > > > > > files
> > > > > > > > instead of JSON?
> > > > > > > >
> > > > > > > > -- Rob
> > > > > > > >
> > > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > > > rammohanganap@gmail.com
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > Is there any way to start qpid-java-0.28 broker using
> > > .properties
> > > > > > file
> > > > > > > or
> > > > > > > > > .xml or .yaml file instead of .json file? or what are the
> > other
> > > > > ways
> > > > > > to
> > > > > > > > > pass override properties instead of JSON config file?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > > Ram
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Thanks for detailed explanation, i wanted to restart with the changed
properties if any for example today i have Anonymous SASL and later i may
want to use password file. How do i pass SASL mechanism as -prop?

Thanks,
Ram

On Fri, Apr 8, 2016 at 2:10 AM, Rob Godfrey <ro...@gmail.com> wrote:

> Hi Ram,
>
> The initial config file is only used when there is no broker config - the
> idea is that it is used to populate the broker config on first startup.
> Once there is a broker config file then this is used (since it may have
> been updated by creating or modifying entities through the management
> functions).  The broker ships with a default initial config which is
> contained within its jar files, however we allow people to provide there
> own.  Records in the config file a copied verbatim into the config store -
> the only difference being that ids are generated for each entity.  The
> interpolation from property names to values is done each time the broker
> reads the config.  If the broker finds there is config in the store path
> then it completely ignores the initial config - it does not examine any
> differences.
>
> Are you looking to start a completely fresh broker each time, or merely to
> be able to change certain properties (such as port numbers) on each
> restart?  If you do not want to retain any changes to the broker
> configuration made while the broker is actually running, then you could use
> a "memory" config store rather than a Json one.  If you want to retain any
> changes made through management, but desire the ability to change certain
> properties (like ports) on each startup, then you don't need to worry about
> the fact that the initial configuration is only loaded the first time - you
> just need to pass in the property values you want on startup.
>
> In terms of an example system properties file...  The default
> initial-config.json defines the amqp port to be ${qpid.amqp_port} and the
> http port to run on ${qpid.http_port}, so if I create a properties file
> called rob.properties which contains
>
> qpid.http_port=8888
> qpid.amqp_port=5555
>
> and then run qpid with the argument -props rob.properties then I get...
>
> [Broker] BRK-1002 : Starting : Listening on TCP port 5555
> [Broker] MNG-1001 : Web Management Startup
> [Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888
>
>
> So, when you use your initial or stored config you just need to ensure all
> the variables you use in your config are set in your properties file (some
> properties have defaults within the code if they are not otherwise set -
> e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).
>
> Hope this helps,
> Rob
>
> On 8 April 2016 at 00:41, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Thank you, one more question on -icp and -sp, so what if i have updated
> icp
> > with some property change  and restarted broker with icp (every time i
> > restart broker i am using initial config
> > "/opt/qpid-java-broker/bin/qpid-server -icp
> > /opt/qpid-java-broker/etc/config.json" not sure if its is right way or
> > not), does it automatically update config file in -sp? i my case it did
> not
> > updated the config file in store-path upon restart. What will happened
> if i
> > have differences in initial config file that i use to start broker and
> the
> > config file under store-path?
> >
> > Thanks,
> > Ram
> >
> > On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > This looks like a client error to me... the line which says:
> > >
> > >  Client restricted itself to : PLAIN
> > >
> > > Out of interest what happens if you remove the &sasl_mechs='ANONYMOUS'
> > from
> > > your connection URL?  Without any sort of restriction I'd expect the
> > client
> > > to do the right thing.
> > >
> > > I need to get to sleep now (1am here :-) )... I'll have deeper look in
> > the
> > > morning.
> > >
> > > -- Rob
> > >
> > > On 7 April 2016 at 23:51, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > thanks for the explanation, do you have a sample
> > > --system-properties-file?
> > > > that i can take a look?
> > > >
> > > > Also i just tried 6.0.1 but my client/app is throwing this error, i
> am
> > > not
> > > > a developer, i am ops guy and i dont want to change the existing code
> > but
> > > > wanted to make java qpid work. This is the error i am getting with
> > > 6.0.1v..
> > > >
> > > > 2016-04-07 22:32:36,726
> > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > connecting
> > > > to Connection : 0 Host = qphost01
> > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > error Unknown virtualhost '' username=null
> > > > 2016-04-07 22:32:36,731
> > > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> > connecting
> > > > to Connection : 0 Host = qphost01
> > > >
> > > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > > error Client and broker have no SASL mechanisms in common. Broker
> > allows
> > > :
> > > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
> > > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > > > username=guest
> > > >
> > > >
> > > > And here is my sasl mechanism.
> > > >
> > > > curl -s 0:10001/service/sasl
> > > > {
> > > >   "user" : "ANONYMOUS",
> > > >   "mechanisms" : [ "ANONYMOUS" ]
> > > >
> > > > Same SASL with 0.28 works fine with my app but 6.0.1 is not working.
> > > >
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > > >
> > > >
> > > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > > wrote:
> > > >
> > > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Rob,
> > > > > >
> > > > > > Does v6.0.1 support Anonymous or no authentication? last time
> when
> > i
> > > > try
> > > > > to
> > > > > > use .32 it was not working with Anonymous.
> > > > > >
> > > > >
> > > > > Yes, Anonymous is supported.  Which AMQP protocol are you using
> > (0-9-1,
> > > > > 0-10, or 1.0)... I would expect that Anonymous should work on 0.32
> > > > however
> > > > > I think in 0.32 the "no authentication layer at all" option for
> AMQP
> > > 1.0
> > > > > probably didn't work (this is different to an authentication layer
> > > which
> > > > > allows anonymous).
> > > > >
> > > > >
> > > > > >
> > > > > > Sorry i was not clear in my previous email, i was taking about
> > > > properties
> > > > > > file not broker storage format, the use case is if i wanted to
> > > override
> > > > > > some of these properties and i have my own custom tool/script
> that
> > > > goes
> > > > > > through the properties files and replace with the override i
> > defined,
> > > > so
> > > > > i
> > > > > > want to use the same tool/script for qpid config as well. My tool
> > > only
> > > > > > support key:value but if we have json array it wont work. So if i
> > > want
> > > > to
> > > > > > pass overrides as "-prop"  command line arguments what are the
> > > > properties
> > > > > > that java qpid support as command line?
> > > > > >
> > > > > > Below if my config, is it possible to pass all these as command
> > line
> > > > > > arguments?
> > > > > >
> > > > > > {
> > > > > >   "authenticationproviders" : [ {
> > > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > > >     "name" : "Anonymous",
> > > > > >     "type" : "Anonymous"
> > > > > >   } ],
> > > > > >   "defaultVirtualHost" : "default",
> > > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > > >   "modelVersion" : "1.3",
> > > > > >   "name" : "Broker",
> > > > > >   "plugins" : [ {
> > > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > > >     "name" : "httpManagement",
> > > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > > >   }, {
> > > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > > >     "name" : "jmxManagement",
> > > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > > >   } ],
> > > > > >   "ports" : [ {
> > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > > >     "name" : "JMX_CONNECTOR",
> > > > > >     "port" : "9099",
> > > > > >     "protocols" : [ "JMX_RMI" ]
> > > > > >   }, {
> > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > > >     "name" : "RMI_REGISTRY",
> > > > > >     "port" : "8999",
> > > > > >     "protocols" : [ "RMI" ]
> > > > > >   }, {
> > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > > >     "name" : "AMQP",
> > > > > >     "port" : "5672"
> > > > > >   }, {
> > > > > >     "authenticationProvider" : "Anonymous",
> > > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > > >     "name" : "HTTP",
> > > > > >     "port" : "10001",
> > > > > >     "protocols" : [ "HTTP" ]
> > > > > >   } ],
> > > > > >   "storeVersion" : 1,
> > > > > >   "virtualhosts" : [ {
> > > > > >     "createdTime" : 1439482250329,
> > > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > > >     "name" : "default",
> > > > > >     "storePath" : "/ebs//derbystore/default",
> > > > > >     "storeType" : "DERBY",
> > > > > >     "type" : "STANDARD"
> > > > > >   } ]
> > > > > > }
> > > > > >
> > > > > >
> > > > > >
> > > > > In 6.0 you can replace any value in the JSON with a reference to a
> > > > > property, for example
> > > > >
> > > > > "name" : "${myPortName}",
> > > > >
> > > > > this will then interpolate the value from the property, so if you
> set
> > > the
> > > > > property myPortName to "RobsPort" that will be the value used.
> Type
> > > > > conversions will be performed, so if the required value is an
> integer
> > > it
> > > > > will convert to an integer.  If the value required is a list then
> you
> > > can
> > > > > use a String representation of a list in Json format.
> > > > >
> > > > > You can set the properties individually, or you can pass in a
> > > properties
> > > > > file using -props or --system-properties-file (so if you have a
> > > > properties
> > > > > file already maybe you can just pass this in).
> > > > >
> > > > >
> > > > > > One more question or may be clarification is,
> > > > > >
> > > > > >
> > > > > > *-sp (--store-path) is the path of config file that will
> generated
> > by
> > > > > qpidd
> > > > > > from the initial config right? what is the use of store-path?*
> > > > > >
> > > > > >
> > > > > That is correct.  Some people just like to have config files in a
> > > > > non-default location :-)
> > > > >
> > > > > Hope this helps,
> > > > > Rob
> > > > >
> > > > >
> > > > > > *Thanks,*
> > > > > >
> > > > > > *Ram*
> > > > > >
> > > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> > rob.j.godfrey@gmail.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Firstly, 0.28 is quite old now - I would recommend updating to
> > > v6.0.1
> > > > > if
> > > > > > > you can.
> > > > > > >
> > > > > > > Secondly I'm not sure I understand your question - are you
> asking
> > > > about
> > > > > > > overriding particular properties, or the storage format for the
> > > > broker
> > > > > > > configuration - these are two different things.  In terms of
> > > > > properties /
> > > > > > > context overrides this can be specified using a properties file
> > (at
> > > > > least
> > > > > > > in v6 - I forget exactly how it worked on 0.28).  In terms of
> the
> > > > > > > configuration, JSON is currently the only text based format
> > > > supported.
> > > > > > You
> > > > > > > can use a database for the broker config storage, there are
> built
> > > in
> > > > > > > mechanisms to support Derby, BDB, and generic JDBC config
> stores.
> > > > > > >
> > > > > > > May I ask what advantage you would get by using YAML or
> > properties
> > > > > files
> > > > > > > instead of JSON?
> > > > > > >
> > > > > > > -- Rob
> > > > > > >
> > > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > > rammohanganap@gmail.com
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > Is there any way to start qpid-java-0.28 broker using
> > .properties
> > > > > file
> > > > > > or
> > > > > > > > .xml or .yaml file instead of .json file? or what are the
> other
> > > > ways
> > > > > to
> > > > > > > > pass override properties instead of JSON config file?
> > > > > > > >
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Ram
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Hi Ram,

The initial config file is only used when there is no broker config - the
idea is that it is used to populate the broker config on first startup.
Once there is a broker config file then this is used (since it may have
been updated by creating or modifying entities through the management
functions).  The broker ships with a default initial config which is
contained within its jar files, however we allow people to provide there
own.  Records in the config file a copied verbatim into the config store -
the only difference being that ids are generated for each entity.  The
interpolation from property names to values is done each time the broker
reads the config.  If the broker finds there is config in the store path
then it completely ignores the initial config - it does not examine any
differences.

Are you looking to start a completely fresh broker each time, or merely to
be able to change certain properties (such as port numbers) on each
restart?  If you do not want to retain any changes to the broker
configuration made while the broker is actually running, then you could use
a "memory" config store rather than a Json one.  If you want to retain any
changes made through management, but desire the ability to change certain
properties (like ports) on each startup, then you don't need to worry about
the fact that the initial configuration is only loaded the first time - you
just need to pass in the property values you want on startup.

In terms of an example system properties file...  The default
initial-config.json defines the amqp port to be ${qpid.amqp_port} and the
http port to run on ${qpid.http_port}, so if I create a properties file
called rob.properties which contains

qpid.http_port=8888
qpid.amqp_port=5555

and then run qpid with the argument -props rob.properties then I get...

[Broker] BRK-1002 : Starting : Listening on TCP port 5555
[Broker] MNG-1001 : Web Management Startup
[Broker] MNG-1002 : Starting : HTTP : Listening on TCP port 8888


So, when you use your initial or stored config you just need to ensure all
the variables you use in your config are set in your properties file (some
properties have defaults within the code if they are not otherwise set -
e.g. qpid.amqp_port will default to 5672 if it is not set elsewhere).

Hope this helps,
Rob

On 8 April 2016 at 00:41, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> Thank you, one more question on -icp and -sp, so what if i have updated icp
> with some property change  and restarted broker with icp (every time i
> restart broker i am using initial config
> "/opt/qpid-java-broker/bin/qpid-server -icp
> /opt/qpid-java-broker/etc/config.json" not sure if its is right way or
> not), does it automatically update config file in -sp? i my case it did not
> updated the config file in store-path upon restart. What will happened if i
> have differences in initial config file that i use to start broker and the
> config file under store-path?
>
> Thanks,
> Ram
>
> On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > This looks like a client error to me... the line which says:
> >
> >  Client restricted itself to : PLAIN
> >
> > Out of interest what happens if you remove the &sasl_mechs='ANONYMOUS'
> from
> > your connection URL?  Without any sort of restriction I'd expect the
> client
> > to do the right thing.
> >
> > I need to get to sleep now (1am here :-) )... I'll have deeper look in
> the
> > morning.
> >
> > -- Rob
> >
> > On 7 April 2016 at 23:51, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> > wrote:
> >
> > > Rob,
> > >
> > > thanks for the explanation, do you have a sample
> > --system-properties-file?
> > > that i can take a look?
> > >
> > > Also i just tried 6.0.1 but my client/app is throwing this error, i am
> > not
> > > a developer, i am ops guy and i dont want to change the existing code
> but
> > > wanted to make java qpid work. This is the error i am getting with
> > 6.0.1v..
> > >
> > > 2016-04-07 22:32:36,726
> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> connecting
> > > to Connection : 0 Host = qphost01
> > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > error Unknown virtualhost '' username=null
> > > 2016-04-07 22:32:36,731
> > > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error
> connecting
> > > to Connection : 0 Host = qphost01
> > >
> > >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > > error Client and broker have no SASL mechanisms in common. Broker
> allows
> > :
> > > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
> > > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > > username=guest
> > >
> > >
> > > And here is my sasl mechanism.
> > >
> > > curl -s 0:10001/service/sasl
> > > {
> > >   "user" : "ANONYMOUS",
> > >   "mechanisms" : [ "ANONYMOUS" ]
> > >
> > > Same SASL with 0.28 works fine with my app but 6.0.1 is not working.
> > >
> > >
> > > Thanks,
> > > Ram
> > >
> > >
> > >
> > > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Rob,
> > > > >
> > > > > Does v6.0.1 support Anonymous or no authentication? last time when
> i
> > > try
> > > > to
> > > > > use .32 it was not working with Anonymous.
> > > > >
> > > >
> > > > Yes, Anonymous is supported.  Which AMQP protocol are you using
> (0-9-1,
> > > > 0-10, or 1.0)... I would expect that Anonymous should work on 0.32
> > > however
> > > > I think in 0.32 the "no authentication layer at all" option for AMQP
> > 1.0
> > > > probably didn't work (this is different to an authentication layer
> > which
> > > > allows anonymous).
> > > >
> > > >
> > > > >
> > > > > Sorry i was not clear in my previous email, i was taking about
> > > properties
> > > > > file not broker storage format, the use case is if i wanted to
> > override
> > > > > some of these properties and i have my own custom tool/script  that
> > > goes
> > > > > through the properties files and replace with the override i
> defined,
> > > so
> > > > i
> > > > > want to use the same tool/script for qpid config as well. My tool
> > only
> > > > > support key:value but if we have json array it wont work. So if i
> > want
> > > to
> > > > > pass overrides as "-prop"  command line arguments what are the
> > > properties
> > > > > that java qpid support as command line?
> > > > >
> > > > > Below if my config, is it possible to pass all these as command
> line
> > > > > arguments?
> > > > >
> > > > > {
> > > > >   "authenticationproviders" : [ {
> > > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > > >     "name" : "Anonymous",
> > > > >     "type" : "Anonymous"
> > > > >   } ],
> > > > >   "defaultVirtualHost" : "default",
> > > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > > >   "modelVersion" : "1.3",
> > > > >   "name" : "Broker",
> > > > >   "plugins" : [ {
> > > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > > >     "name" : "httpManagement",
> > > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > > >   }, {
> > > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > > >     "name" : "jmxManagement",
> > > > >     "pluginType" : "MANAGEMENT-JMX"
> > > > >   } ],
> > > > >   "ports" : [ {
> > > > >     "authenticationProvider" : "Anonymous",
> > > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > > >     "name" : "JMX_CONNECTOR",
> > > > >     "port" : "9099",
> > > > >     "protocols" : [ "JMX_RMI" ]
> > > > >   }, {
> > > > >     "authenticationProvider" : "Anonymous",
> > > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > > >     "name" : "RMI_REGISTRY",
> > > > >     "port" : "8999",
> > > > >     "protocols" : [ "RMI" ]
> > > > >   }, {
> > > > >     "authenticationProvider" : "Anonymous",
> > > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > > >     "name" : "AMQP",
> > > > >     "port" : "5672"
> > > > >   }, {
> > > > >     "authenticationProvider" : "Anonymous",
> > > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > > >     "name" : "HTTP",
> > > > >     "port" : "10001",
> > > > >     "protocols" : [ "HTTP" ]
> > > > >   } ],
> > > > >   "storeVersion" : 1,
> > > > >   "virtualhosts" : [ {
> > > > >     "createdTime" : 1439482250329,
> > > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > > >     "name" : "default",
> > > > >     "storePath" : "/ebs//derbystore/default",
> > > > >     "storeType" : "DERBY",
> > > > >     "type" : "STANDARD"
> > > > >   } ]
> > > > > }
> > > > >
> > > > >
> > > > >
> > > > In 6.0 you can replace any value in the JSON with a reference to a
> > > > property, for example
> > > >
> > > > "name" : "${myPortName}",
> > > >
> > > > this will then interpolate the value from the property, so if you set
> > the
> > > > property myPortName to "RobsPort" that will be the value used.  Type
> > > > conversions will be performed, so if the required value is an integer
> > it
> > > > will convert to an integer.  If the value required is a list then you
> > can
> > > > use a String representation of a list in Json format.
> > > >
> > > > You can set the properties individually, or you can pass in a
> > properties
> > > > file using -props or --system-properties-file (so if you have a
> > > properties
> > > > file already maybe you can just pass this in).
> > > >
> > > >
> > > > > One more question or may be clarification is,
> > > > >
> > > > >
> > > > > *-sp (--store-path) is the path of config file that will generated
> by
> > > > qpidd
> > > > > from the initial config right? what is the use of store-path?*
> > > > >
> > > > >
> > > > That is correct.  Some people just like to have config files in a
> > > > non-default location :-)
> > > >
> > > > Hope this helps,
> > > > Rob
> > > >
> > > >
> > > > > *Thanks,*
> > > > >
> > > > > *Ram*
> > > > >
> > > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <
> rob.j.godfrey@gmail.com
> > >
> > > > > wrote:
> > > > >
> > > > > > Firstly, 0.28 is quite old now - I would recommend updating to
> > v6.0.1
> > > > if
> > > > > > you can.
> > > > > >
> > > > > > Secondly I'm not sure I understand your question - are you asking
> > > about
> > > > > > overriding particular properties, or the storage format for the
> > > broker
> > > > > > configuration - these are two different things.  In terms of
> > > > properties /
> > > > > > context overrides this can be specified using a properties file
> (at
> > > > least
> > > > > > in v6 - I forget exactly how it worked on 0.28).  In terms of the
> > > > > > configuration, JSON is currently the only text based format
> > > supported.
> > > > > You
> > > > > > can use a database for the broker config storage, there are built
> > in
> > > > > > mechanisms to support Derby, BDB, and generic JDBC config stores.
> > > > > >
> > > > > > May I ask what advantage you would get by using YAML or
> properties
> > > > files
> > > > > > instead of JSON?
> > > > > >
> > > > > > -- Rob
> > > > > >
> > > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > > rammohanganap@gmail.com
> > > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > Is there any way to start qpid-java-0.28 broker using
> .properties
> > > > file
> > > > > or
> > > > > > > .xml or .yaml file instead of .json file? or what are the other
> > > ways
> > > > to
> > > > > > > pass override properties instead of JSON config file?
> > > > > > >
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Ram
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Thank you, one more question on -icp and -sp, so what if i have updated icp
with some property change  and restarted broker with icp (every time i
restart broker i am using initial config
"/opt/qpid-java-broker/bin/qpid-server -icp
/opt/qpid-java-broker/etc/config.json" not sure if its is right way or
not), does it automatically update config file in -sp? i my case it did not
updated the config file in store-path upon restart. What will happened if i
have differences in initial config file that i use to start broker and the
config file under store-path?

Thanks,
Ram

On Thu, Apr 7, 2016 at 3:59 PM, Rob Godfrey <ro...@gmail.com> wrote:

> This looks like a client error to me... the line which says:
>
>  Client restricted itself to : PLAIN
>
> Out of interest what happens if you remove the &sasl_mechs='ANONYMOUS' from
> your connection URL?  Without any sort of restriction I'd expect the client
> to do the right thing.
>
> I need to get to sleep now (1am here :-) )... I'll have deeper look in the
> morning.
>
> -- Rob
>
> On 7 April 2016 at 23:51, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > thanks for the explanation, do you have a sample
> --system-properties-file?
> > that i can take a look?
> >
> > Also i just tried 6.0.1 but my client/app is throwing this error, i am
> not
> > a developer, i am ops guy and i dont want to change the existing code but
> > wanted to make java qpid work. This is the error i am getting with
> 6.0.1v..
> >
> > 2016-04-07 22:32:36,726
> > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> > to Connection : 0 Host = qphost01
> >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > error Unknown virtualhost '' username=null
> > 2016-04-07 22:32:36,731
> > QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> > S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> > to Connection : 0 Host = qphost01
> >
> >
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> > error Client and broker have no SASL mechanisms in common. Broker allows
> :
> > ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
> > AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> > username=guest
> >
> >
> > And here is my sasl mechanism.
> >
> > curl -s 0:10001/service/sasl
> > {
> >   "user" : "ANONYMOUS",
> >   "mechanisms" : [ "ANONYMOUS" ]
> >
> > Same SASL with 0.28 works fine with my app but 6.0.1 is not working.
> >
> >
> > Thanks,
> > Ram
> >
> >
> >
> > On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > On 7 April 2016 at 23:16, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Rob,
> > > >
> > > > Does v6.0.1 support Anonymous or no authentication? last time when i
> > try
> > > to
> > > > use .32 it was not working with Anonymous.
> > > >
> > >
> > > Yes, Anonymous is supported.  Which AMQP protocol are you using (0-9-1,
> > > 0-10, or 1.0)... I would expect that Anonymous should work on 0.32
> > however
> > > I think in 0.32 the "no authentication layer at all" option for AMQP
> 1.0
> > > probably didn't work (this is different to an authentication layer
> which
> > > allows anonymous).
> > >
> > >
> > > >
> > > > Sorry i was not clear in my previous email, i was taking about
> > properties
> > > > file not broker storage format, the use case is if i wanted to
> override
> > > > some of these properties and i have my own custom tool/script  that
> > goes
> > > > through the properties files and replace with the override i defined,
> > so
> > > i
> > > > want to use the same tool/script for qpid config as well. My tool
> only
> > > > support key:value but if we have json array it wont work. So if i
> want
> > to
> > > > pass overrides as "-prop"  command line arguments what are the
> > properties
> > > > that java qpid support as command line?
> > > >
> > > > Below if my config, is it possible to pass all these as command line
> > > > arguments?
> > > >
> > > > {
> > > >   "authenticationproviders" : [ {
> > > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > > >     "name" : "Anonymous",
> > > >     "type" : "Anonymous"
> > > >   } ],
> > > >   "defaultVirtualHost" : "default",
> > > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > > >   "modelVersion" : "1.3",
> > > >   "name" : "Broker",
> > > >   "plugins" : [ {
> > > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > > >     "name" : "httpManagement",
> > > >     "pluginType" : "MANAGEMENT-HTTP"
> > > >   }, {
> > > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > > >     "name" : "jmxManagement",
> > > >     "pluginType" : "MANAGEMENT-JMX"
> > > >   } ],
> > > >   "ports" : [ {
> > > >     "authenticationProvider" : "Anonymous",
> > > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > > >     "name" : "JMX_CONNECTOR",
> > > >     "port" : "9099",
> > > >     "protocols" : [ "JMX_RMI" ]
> > > >   }, {
> > > >     "authenticationProvider" : "Anonymous",
> > > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > > >     "name" : "RMI_REGISTRY",
> > > >     "port" : "8999",
> > > >     "protocols" : [ "RMI" ]
> > > >   }, {
> > > >     "authenticationProvider" : "Anonymous",
> > > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > > >     "name" : "AMQP",
> > > >     "port" : "5672"
> > > >   }, {
> > > >     "authenticationProvider" : "Anonymous",
> > > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > > >     "name" : "HTTP",
> > > >     "port" : "10001",
> > > >     "protocols" : [ "HTTP" ]
> > > >   } ],
> > > >   "storeVersion" : 1,
> > > >   "virtualhosts" : [ {
> > > >     "createdTime" : 1439482250329,
> > > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > > >     "name" : "default",
> > > >     "storePath" : "/ebs//derbystore/default",
> > > >     "storeType" : "DERBY",
> > > >     "type" : "STANDARD"
> > > >   } ]
> > > > }
> > > >
> > > >
> > > >
> > > In 6.0 you can replace any value in the JSON with a reference to a
> > > property, for example
> > >
> > > "name" : "${myPortName}",
> > >
> > > this will then interpolate the value from the property, so if you set
> the
> > > property myPortName to "RobsPort" that will be the value used.  Type
> > > conversions will be performed, so if the required value is an integer
> it
> > > will convert to an integer.  If the value required is a list then you
> can
> > > use a String representation of a list in Json format.
> > >
> > > You can set the properties individually, or you can pass in a
> properties
> > > file using -props or --system-properties-file (so if you have a
> > properties
> > > file already maybe you can just pass this in).
> > >
> > >
> > > > One more question or may be clarification is,
> > > >
> > > >
> > > > *-sp (--store-path) is the path of config file that will generated by
> > > qpidd
> > > > from the initial config right? what is the use of store-path?*
> > > >
> > > >
> > > That is correct.  Some people just like to have config files in a
> > > non-default location :-)
> > >
> > > Hope this helps,
> > > Rob
> > >
> > >
> > > > *Thanks,*
> > > >
> > > > *Ram*
> > > >
> > > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <rob.j.godfrey@gmail.com
> >
> > > > wrote:
> > > >
> > > > > Firstly, 0.28 is quite old now - I would recommend updating to
> v6.0.1
> > > if
> > > > > you can.
> > > > >
> > > > > Secondly I'm not sure I understand your question - are you asking
> > about
> > > > > overriding particular properties, or the storage format for the
> > broker
> > > > > configuration - these are two different things.  In terms of
> > > properties /
> > > > > context overrides this can be specified using a properties file (at
> > > least
> > > > > in v6 - I forget exactly how it worked on 0.28).  In terms of the
> > > > > configuration, JSON is currently the only text based format
> > supported.
> > > > You
> > > > > can use a database for the broker config storage, there are built
> in
> > > > > mechanisms to support Derby, BDB, and generic JDBC config stores.
> > > > >
> > > > > May I ask what advantage you would get by using YAML or properties
> > > files
> > > > > instead of JSON?
> > > > >
> > > > > -- Rob
> > > > >
> > > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > > rammohanganap@gmail.com
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Hi,
> > > > > >
> > > > > > Is there any way to start qpid-java-0.28 broker using .properties
> > > file
> > > > or
> > > > > > .xml or .yaml file instead of .json file? or what are the other
> > ways
> > > to
> > > > > > pass override properties instead of JSON config file?
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Ram
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
This looks like a client error to me... the line which says:

 Client restricted itself to : PLAIN

Out of interest what happens if you remove the &sasl_mechs='ANONYMOUS' from
your connection URL?  Without any sort of restriction I'd expect the client
to do the right thing.

I need to get to sleep now (1am here :-) )... I'll have deeper look in the
morning.

-- Rob

On 7 April 2016 at 23:51, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> thanks for the explanation, do you have a sample --system-properties-file?
> that i can take a look?
>
> Also i just tried 6.0.1 but my client/app is throwing this error, i am not
> a developer, i am ops guy and i dont want to change the existing code but
> wanted to make java qpid work. This is the error i am getting with 6.0.1v..
>
> 2016-04-07 22:32:36,726
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> to Connection : 0 Host = qphost01
>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> error Unknown virtualhost '' username=null
> 2016-04-07 22:32:36,731
> QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
> S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
> to Connection : 0 Host = qphost01
>
> url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
> error Client and broker have no SASL mechanisms in common. Broker allows :
> ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
> AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
> username=guest
>
>
> And here is my sasl mechanism.
>
> curl -s 0:10001/service/sasl
> {
>   "user" : "ANONYMOUS",
>   "mechanisms" : [ "ANONYMOUS" ]
>
> Same SASL with 0.28 works fine with my app but 6.0.1 is not working.
>
>
> Thanks,
> Ram
>
>
>
> On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > On 7 April 2016 at 23:16, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> > wrote:
> >
> > > Rob,
> > >
> > > Does v6.0.1 support Anonymous or no authentication? last time when i
> try
> > to
> > > use .32 it was not working with Anonymous.
> > >
> >
> > Yes, Anonymous is supported.  Which AMQP protocol are you using (0-9-1,
> > 0-10, or 1.0)... I would expect that Anonymous should work on 0.32
> however
> > I think in 0.32 the "no authentication layer at all" option for AMQP 1.0
> > probably didn't work (this is different to an authentication layer which
> > allows anonymous).
> >
> >
> > >
> > > Sorry i was not clear in my previous email, i was taking about
> properties
> > > file not broker storage format, the use case is if i wanted to override
> > > some of these properties and i have my own custom tool/script  that
> goes
> > > through the properties files and replace with the override i defined,
> so
> > i
> > > want to use the same tool/script for qpid config as well. My tool only
> > > support key:value but if we have json array it wont work. So if i want
> to
> > > pass overrides as "-prop"  command line arguments what are the
> properties
> > > that java qpid support as command line?
> > >
> > > Below if my config, is it possible to pass all these as command line
> > > arguments?
> > >
> > > {
> > >   "authenticationproviders" : [ {
> > >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> > >     "name" : "Anonymous",
> > >     "type" : "Anonymous"
> > >   } ],
> > >   "defaultVirtualHost" : "default",
> > >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> > >   "modelVersion" : "1.3",
> > >   "name" : "Broker",
> > >   "plugins" : [ {
> > >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> > >     "name" : "httpManagement",
> > >     "pluginType" : "MANAGEMENT-HTTP"
> > >   }, {
> > >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> > >     "name" : "jmxManagement",
> > >     "pluginType" : "MANAGEMENT-JMX"
> > >   } ],
> > >   "ports" : [ {
> > >     "authenticationProvider" : "Anonymous",
> > >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> > >     "name" : "JMX_CONNECTOR",
> > >     "port" : "9099",
> > >     "protocols" : [ "JMX_RMI" ]
> > >   }, {
> > >     "authenticationProvider" : "Anonymous",
> > >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> > >     "name" : "RMI_REGISTRY",
> > >     "port" : "8999",
> > >     "protocols" : [ "RMI" ]
> > >   }, {
> > >     "authenticationProvider" : "Anonymous",
> > >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> > >     "name" : "AMQP",
> > >     "port" : "5672"
> > >   }, {
> > >     "authenticationProvider" : "Anonymous",
> > >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> > >     "name" : "HTTP",
> > >     "port" : "10001",
> > >     "protocols" : [ "HTTP" ]
> > >   } ],
> > >   "storeVersion" : 1,
> > >   "virtualhosts" : [ {
> > >     "createdTime" : 1439482250329,
> > >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> > >     "name" : "default",
> > >     "storePath" : "/ebs//derbystore/default",
> > >     "storeType" : "DERBY",
> > >     "type" : "STANDARD"
> > >   } ]
> > > }
> > >
> > >
> > >
> > In 6.0 you can replace any value in the JSON with a reference to a
> > property, for example
> >
> > "name" : "${myPortName}",
> >
> > this will then interpolate the value from the property, so if you set the
> > property myPortName to "RobsPort" that will be the value used.  Type
> > conversions will be performed, so if the required value is an integer it
> > will convert to an integer.  If the value required is a list then you can
> > use a String representation of a list in Json format.
> >
> > You can set the properties individually, or you can pass in a properties
> > file using -props or --system-properties-file (so if you have a
> properties
> > file already maybe you can just pass this in).
> >
> >
> > > One more question or may be clarification is,
> > >
> > >
> > > *-sp (--store-path) is the path of config file that will generated by
> > qpidd
> > > from the initial config right? what is the use of store-path?*
> > >
> > >
> > That is correct.  Some people just like to have config files in a
> > non-default location :-)
> >
> > Hope this helps,
> > Rob
> >
> >
> > > *Thanks,*
> > >
> > > *Ram*
> > >
> > > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <ro...@gmail.com>
> > > wrote:
> > >
> > > > Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1
> > if
> > > > you can.
> > > >
> > > > Secondly I'm not sure I understand your question - are you asking
> about
> > > > overriding particular properties, or the storage format for the
> broker
> > > > configuration - these are two different things.  In terms of
> > properties /
> > > > context overrides this can be specified using a properties file (at
> > least
> > > > in v6 - I forget exactly how it worked on 0.28).  In terms of the
> > > > configuration, JSON is currently the only text based format
> supported.
> > > You
> > > > can use a database for the broker config storage, there are built in
> > > > mechanisms to support Derby, BDB, and generic JDBC config stores.
> > > >
> > > > May I ask what advantage you would get by using YAML or properties
> > files
> > > > instead of JSON?
> > > >
> > > > -- Rob
> > > >
> > > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> > rammohanganap@gmail.com
> > > >
> > > > wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Is there any way to start qpid-java-0.28 broker using .properties
> > file
> > > or
> > > > > .xml or .yaml file instead of .json file? or what are the other
> ways
> > to
> > > > > pass override properties instead of JSON config file?
> > > > >
> > > > >
> > > > > Thanks,
> > > > > Ram
> > > > >
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

thanks for the explanation, do you have a sample --system-properties-file?
that i can take a look?

Also i just tried 6.0.1 but my client/app is throwing this error, i am not
a developer, i am ops guy and i dont want to change the existing code but
wanted to make java qpid work. This is the error i am getting with 6.0.1v..

2016-04-07 22:32:36,726
QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
to Connection : 0 Host = qphost01
url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
error Unknown virtualhost '' username=null
2016-04-07 22:32:36,731
QPIDConnectionManager-80478ba7-b31e-483a-823e-f726104ac1db ERROR
S.QUEUECLIENTSERVICE - ConnectionImpl.openConnection() : Error connecting
to Connection : 0 Host = qphost01
url=amqp://null:********@qphost011460067563391/?brokerlist='tcp://localhost:5672?connecttimeout='5000'&sasl_mechs='ANONYMOUS''
error Client and broker have no SASL mechanisms in common. Broker allows :
ANONYMOUS Client has : [EXTERNAL, GSSAPI, CRAM-MD5-HASHED, CRAM-MD5,
AMQPLAIN, PLAIN, ANONYMOUS] Client restricted itself to : PLAIN
username=guest


And here is my sasl mechanism.

curl -s 0:10001/service/sasl
{
  "user" : "ANONYMOUS",
  "mechanisms" : [ "ANONYMOUS" ]

Same SASL with 0.28 works fine with my app but 6.0.1 is not working.


Thanks,
Ram



On Thu, Apr 7, 2016 at 3:39 PM, Rob Godfrey <ro...@gmail.com> wrote:

> On 7 April 2016 at 23:16, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Rob,
> >
> > Does v6.0.1 support Anonymous or no authentication? last time when i try
> to
> > use .32 it was not working with Anonymous.
> >
>
> Yes, Anonymous is supported.  Which AMQP protocol are you using (0-9-1,
> 0-10, or 1.0)... I would expect that Anonymous should work on 0.32 however
> I think in 0.32 the "no authentication layer at all" option for AMQP 1.0
> probably didn't work (this is different to an authentication layer which
> allows anonymous).
>
>
> >
> > Sorry i was not clear in my previous email, i was taking about properties
> > file not broker storage format, the use case is if i wanted to override
> > some of these properties and i have my own custom tool/script  that goes
> > through the properties files and replace with the override i defined, so
> i
> > want to use the same tool/script for qpid config as well. My tool only
> > support key:value but if we have json array it wont work. So if i want to
> > pass overrides as "-prop"  command line arguments what are the properties
> > that java qpid support as command line?
> >
> > Below if my config, is it possible to pass all these as command line
> > arguments?
> >
> > {
> >   "authenticationproviders" : [ {
> >     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
> >     "name" : "Anonymous",
> >     "type" : "Anonymous"
> >   } ],
> >   "defaultVirtualHost" : "default",
> >   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
> >   "modelVersion" : "1.3",
> >   "name" : "Broker",
> >   "plugins" : [ {
> >     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
> >     "name" : "httpManagement",
> >     "pluginType" : "MANAGEMENT-HTTP"
> >   }, {
> >     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
> >     "name" : "jmxManagement",
> >     "pluginType" : "MANAGEMENT-JMX"
> >   } ],
> >   "ports" : [ {
> >     "authenticationProvider" : "Anonymous",
> >     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
> >     "name" : "JMX_CONNECTOR",
> >     "port" : "9099",
> >     "protocols" : [ "JMX_RMI" ]
> >   }, {
> >     "authenticationProvider" : "Anonymous",
> >     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
> >     "name" : "RMI_REGISTRY",
> >     "port" : "8999",
> >     "protocols" : [ "RMI" ]
> >   }, {
> >     "authenticationProvider" : "Anonymous",
> >     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
> >     "name" : "AMQP",
> >     "port" : "5672"
> >   }, {
> >     "authenticationProvider" : "Anonymous",
> >     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
> >     "name" : "HTTP",
> >     "port" : "10001",
> >     "protocols" : [ "HTTP" ]
> >   } ],
> >   "storeVersion" : 1,
> >   "virtualhosts" : [ {
> >     "createdTime" : 1439482250329,
> >     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
> >     "name" : "default",
> >     "storePath" : "/ebs//derbystore/default",
> >     "storeType" : "DERBY",
> >     "type" : "STANDARD"
> >   } ]
> > }
> >
> >
> >
> In 6.0 you can replace any value in the JSON with a reference to a
> property, for example
>
> "name" : "${myPortName}",
>
> this will then interpolate the value from the property, so if you set the
> property myPortName to "RobsPort" that will be the value used.  Type
> conversions will be performed, so if the required value is an integer it
> will convert to an integer.  If the value required is a list then you can
> use a String representation of a list in Json format.
>
> You can set the properties individually, or you can pass in a properties
> file using -props or --system-properties-file (so if you have a properties
> file already maybe you can just pass this in).
>
>
> > One more question or may be clarification is,
> >
> >
> > *-sp (--store-path) is the path of config file that will generated by
> qpidd
> > from the initial config right? what is the use of store-path?*
> >
> >
> That is correct.  Some people just like to have config files in a
> non-default location :-)
>
> Hope this helps,
> Rob
>
>
> > *Thanks,*
> >
> > *Ram*
> >
> > On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <ro...@gmail.com>
> > wrote:
> >
> > > Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1
> if
> > > you can.
> > >
> > > Secondly I'm not sure I understand your question - are you asking about
> > > overriding particular properties, or the storage format for the broker
> > > configuration - these are two different things.  In terms of
> properties /
> > > context overrides this can be specified using a properties file (at
> least
> > > in v6 - I forget exactly how it worked on 0.28).  In terms of the
> > > configuration, JSON is currently the only text based format supported.
> > You
> > > can use a database for the broker config storage, there are built in
> > > mechanisms to support Derby, BDB, and generic JDBC config stores.
> > >
> > > May I ask what advantage you would get by using YAML or properties
> files
> > > instead of JSON?
> > >
> > > -- Rob
> > >
> > > On 7 April 2016 at 22:43, rammohan ganapavarapu <
> rammohanganap@gmail.com
> > >
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > Is there any way to start qpid-java-0.28 broker using .properties
> file
> > or
> > > > .xml or .yaml file instead of .json file? or what are the other ways
> to
> > > > pass override properties instead of JSON config file?
> > > >
> > > >
> > > > Thanks,
> > > > Ram
> > > >
> > >
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
On 7 April 2016 at 23:16, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Rob,
>
> Does v6.0.1 support Anonymous or no authentication? last time when i try to
> use .32 it was not working with Anonymous.
>

Yes, Anonymous is supported.  Which AMQP protocol are you using (0-9-1,
0-10, or 1.0)... I would expect that Anonymous should work on 0.32 however
I think in 0.32 the "no authentication layer at all" option for AMQP 1.0
probably didn't work (this is different to an authentication layer which
allows anonymous).


>
> Sorry i was not clear in my previous email, i was taking about properties
> file not broker storage format, the use case is if i wanted to override
> some of these properties and i have my own custom tool/script  that goes
> through the properties files and replace with the override i defined, so i
> want to use the same tool/script for qpid config as well. My tool only
> support key:value but if we have json array it wont work. So if i want to
> pass overrides as "-prop"  command line arguments what are the properties
> that java qpid support as command line?
>
> Below if my config, is it possible to pass all these as command line
> arguments?
>
> {
>   "authenticationproviders" : [ {
>     "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
>     "name" : "Anonymous",
>     "type" : "Anonymous"
>   } ],
>   "defaultVirtualHost" : "default",
>   "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
>   "modelVersion" : "1.3",
>   "name" : "Broker",
>   "plugins" : [ {
>     "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
>     "name" : "httpManagement",
>     "pluginType" : "MANAGEMENT-HTTP"
>   }, {
>     "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
>     "name" : "jmxManagement",
>     "pluginType" : "MANAGEMENT-JMX"
>   } ],
>   "ports" : [ {
>     "authenticationProvider" : "Anonymous",
>     "id" : "99e13356-080a-4abe-852e-8c452149cdae",
>     "name" : "JMX_CONNECTOR",
>     "port" : "9099",
>     "protocols" : [ "JMX_RMI" ]
>   }, {
>     "authenticationProvider" : "Anonymous",
>     "id" : "12813407-62ae-429f-8bee-75802f3b6553",
>     "name" : "RMI_REGISTRY",
>     "port" : "8999",
>     "protocols" : [ "RMI" ]
>   }, {
>     "authenticationProvider" : "Anonymous",
>     "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
>     "name" : "AMQP",
>     "port" : "5672"
>   }, {
>     "authenticationProvider" : "Anonymous",
>     "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
>     "name" : "HTTP",
>     "port" : "10001",
>     "protocols" : [ "HTTP" ]
>   } ],
>   "storeVersion" : 1,
>   "virtualhosts" : [ {
>     "createdTime" : 1439482250329,
>     "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
>     "name" : "default",
>     "storePath" : "/ebs//derbystore/default",
>     "storeType" : "DERBY",
>     "type" : "STANDARD"
>   } ]
> }
>
>
>
In 6.0 you can replace any value in the JSON with a reference to a
property, for example

"name" : "${myPortName}",

this will then interpolate the value from the property, so if you set the
property myPortName to "RobsPort" that will be the value used.  Type
conversions will be performed, so if the required value is an integer it
will convert to an integer.  If the value required is a list then you can
use a String representation of a list in Json format.

You can set the properties individually, or you can pass in a properties
file using -props or --system-properties-file (so if you have a properties
file already maybe you can just pass this in).


> One more question or may be clarification is,
>
>
> *-sp (--store-path) is the path of config file that will generated by qpidd
> from the initial config right? what is the use of store-path?*
>
>
That is correct.  Some people just like to have config files in a
non-default location :-)

Hope this helps,
Rob


> *Thanks,*
>
> *Ram*
>
> On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <ro...@gmail.com>
> wrote:
>
> > Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1 if
> > you can.
> >
> > Secondly I'm not sure I understand your question - are you asking about
> > overriding particular properties, or the storage format for the broker
> > configuration - these are two different things.  In terms of properties /
> > context overrides this can be specified using a properties file (at least
> > in v6 - I forget exactly how it worked on 0.28).  In terms of the
> > configuration, JSON is currently the only text based format supported.
> You
> > can use a database for the broker config storage, there are built in
> > mechanisms to support Derby, BDB, and generic JDBC config stores.
> >
> > May I ask what advantage you would get by using YAML or properties files
> > instead of JSON?
> >
> > -- Rob
> >
> > On 7 April 2016 at 22:43, rammohan ganapavarapu <rammohanganap@gmail.com
> >
> > wrote:
> >
> > > Hi,
> > >
> > > Is there any way to start qpid-java-0.28 broker using .properties file
> or
> > > .xml or .yaml file instead of .json file? or what are the other ways to
> > > pass override properties instead of JSON config file?
> > >
> > >
> > > Thanks,
> > > Ram
> > >
> >
>

Re: java broker startup properties file

Posted by rammohan ganapavarapu <ra...@gmail.com>.
Rob,

Does v6.0.1 support Anonymous or no authentication? last time when i try to
use .32 it was not working with Anonymous.

Sorry i was not clear in my previous email, i was taking about properties
file not broker storage format, the use case is if i wanted to override
some of these properties and i have my own custom tool/script  that goes
through the properties files and replace with the override i defined, so i
want to use the same tool/script for qpid config as well. My tool only
support key:value but if we have json array it wont work. So if i want to
pass overrides as "-prop"  command line arguments what are the properties
that java qpid support as command line?

Below if my config, is it possible to pass all these as command line
arguments?

{
  "authenticationproviders" : [ {
    "id" : "7050933f-3485-4866-95d2-1f1b258ea3ac",
    "name" : "Anonymous",
    "type" : "Anonymous"
  } ],
  "defaultVirtualHost" : "default",
  "id" : "c433a66c-e6dc-4c48-be01-268295f580bc",
  "modelVersion" : "1.3",
  "name" : "Broker",
  "plugins" : [ {
    "id" : "58889cb7-9b9b-4866-bab2-4cfd63266dbf",
    "name" : "httpManagement",
    "pluginType" : "MANAGEMENT-HTTP"
  }, {
    "id" : "67282f5e-ebab-4341-9ff5-27a58fd2df89",
    "name" : "jmxManagement",
    "pluginType" : "MANAGEMENT-JMX"
  } ],
  "ports" : [ {
    "authenticationProvider" : "Anonymous",
    "id" : "99e13356-080a-4abe-852e-8c452149cdae",
    "name" : "JMX_CONNECTOR",
    "port" : "9099",
    "protocols" : [ "JMX_RMI" ]
  }, {
    "authenticationProvider" : "Anonymous",
    "id" : "12813407-62ae-429f-8bee-75802f3b6553",
    "name" : "RMI_REGISTRY",
    "port" : "8999",
    "protocols" : [ "RMI" ]
  }, {
    "authenticationProvider" : "Anonymous",
    "id" : "3b107675-edd7-40a3-86c2-3113b46157f9",
    "name" : "AMQP",
    "port" : "5672"
  }, {
    "authenticationProvider" : "Anonymous",
    "id" : "6dff5ecf-1a4b-46ad-b93d-f2606b5e4f6e",
    "name" : "HTTP",
    "port" : "10001",
    "protocols" : [ "HTTP" ]
  } ],
  "storeVersion" : 1,
  "virtualhosts" : [ {
    "createdTime" : 1439482250329,
    "id" : "eef20ba0-33d3-4b37-93a7-fe2b34e54503",
    "name" : "default",
    "storePath" : "/ebs//derbystore/default",
    "storeType" : "DERBY",
    "type" : "STANDARD"
  } ]
}


One more question or may be clarification is,


*-sp (--store-path) is the path of config file that will generated by qpidd
from the initial config right? what is the use of store-path?*

*Thanks,*

*Ram*

On Thu, Apr 7, 2016 at 3:02 PM, Rob Godfrey <ro...@gmail.com> wrote:

> Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1 if
> you can.
>
> Secondly I'm not sure I understand your question - are you asking about
> overriding particular properties, or the storage format for the broker
> configuration - these are two different things.  In terms of properties /
> context overrides this can be specified using a properties file (at least
> in v6 - I forget exactly how it worked on 0.28).  In terms of the
> configuration, JSON is currently the only text based format supported.  You
> can use a database for the broker config storage, there are built in
> mechanisms to support Derby, BDB, and generic JDBC config stores.
>
> May I ask what advantage you would get by using YAML or properties files
> instead of JSON?
>
> -- Rob
>
> On 7 April 2016 at 22:43, rammohan ganapavarapu <ra...@gmail.com>
> wrote:
>
> > Hi,
> >
> > Is there any way to start qpid-java-0.28 broker using .properties file or
> > .xml or .yaml file instead of .json file? or what are the other ways to
> > pass override properties instead of JSON config file?
> >
> >
> > Thanks,
> > Ram
> >
>

Re: java broker startup properties file

Posted by Rob Godfrey <ro...@gmail.com>.
Firstly, 0.28 is quite old now - I would recommend updating to v6.0.1 if
you can.

Secondly I'm not sure I understand your question - are you asking about
overriding particular properties, or the storage format for the broker
configuration - these are two different things.  In terms of properties /
context overrides this can be specified using a properties file (at least
in v6 - I forget exactly how it worked on 0.28).  In terms of the
configuration, JSON is currently the only text based format supported.  You
can use a database for the broker config storage, there are built in
mechanisms to support Derby, BDB, and generic JDBC config stores.

May I ask what advantage you would get by using YAML or properties files
instead of JSON?

-- Rob

On 7 April 2016 at 22:43, rammohan ganapavarapu <ra...@gmail.com>
wrote:

> Hi,
>
> Is there any way to start qpid-java-0.28 broker using .properties file or
> .xml or .yaml file instead of .json file? or what are the other ways to
> pass override properties instead of JSON config file?
>
>
> Thanks,
> Ram
>