Thanks Rob for the answer.
I don't know if I'm looking in the right place but here:
https://github.com/apache/qpid-broker-j/blob/c018e1ac9d21e9f5eb38d2ae7a26a31e63c07fdf/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCSystemConfig.java
the default preference store is "Provided"...
Do you have a sample where the preferenceStoreAttributes is set?
I tried in the command line with -prop
"systemConfig.preferenceStoreAttributes={\"type\":\"Noop\"}
and in the initial config.json of the broker without any success...
Olivier
-----Original Message-----
From: Rob Godfrey <[email protected]>
Sent: jeudi 22 novembre 2018 16:41
To: [email protected]
Subject: Re: [Broker-J] JDBC config store
On Thu, 22 Nov 2018 at 15:11, VERMEULEN Olivier <[email protected]>
wrote:
> Hello,
>
> I'm using version 7.0.3 of the Broker-J.
> I tried to configure it to use a JDBC (here Sybase) config store.
>
> qpid-server.bat -st JDBC -prop
> "systemConfig.connectionUrl=jdbc:sybase:Tds:dell719srv:4100/DB" -prop
> "systemConfig.username=USER" -prop "systemConfig.password=PWD"
>
> But I got the following exception:
>
> [Broker] BRK-1016 : Fatal error : Cannot create provided preference
> store on non PreferenceStoreProvider : See log file for more
> information [Broker] Exception during startup:
> org.apache.qpid.server.util.ServerScopedRuntimeException: Broker
> failed reach ACTIVE state (state is ERRORED)
> at
> org.apache.qpid.server.model.AbstractSystemConfig$3.onSuccess(Abstract
> SystemConfig.java:318)
>
> I debugged a bit and it uses the ProvidedPreferenceStoreFactoryService.
> But it is called with JDBCSystemConfigImpl as parent which does not
> implement PreferenceStoreProvider, thus the crash.
>
> First, what is exactly the preference store and do I really need it?
It is where per-user preferences for the web console are stored. The default
is to use JSON - so at some point the configuration must have been edited to
use "provided" instead.
If not how can I configure my broker to use the NOOP one?
>
The type of preference store to use is defined in the attribute
"preferenceStoreAttributes" in the system config. The default value is the
JSON object "{\"type\": \"JSON\", \"attributes\":{\"path\":
\"${json:qpid.work_dir}${json:file.separator}preferences.json\"}}". If you
wanted to change that to the NoOp provider you could use "{\"type\":
\"Noop\", \"attributes\":{}}" I would think.
> Second, why isn't it working with a JDBC config store, did I miss
> something in the configuration?
>
It's just never been implemented - I'm not sure why, I guess because there
wasn't really seen to be a demand.
>
> Thanks,
> Olivier
>
>
-- Rob
> ******************************* This e-mail contains information for
> the intended recipient only. It may contain proprietary material or
> confidential information. If you are not the intended recipient you
> are not authorized to distribute, copy or use this e-mail or any attachment
> to it.
> Murex cannot guarantee that it is virus free and accepts no
> responsibility for any loss or damage arising from its use. If you
> have received this e-mail in error please notify immediately the
> sender and delete the original email received, any attachments and all copies
> from your system.
>
******************************* This e-mail contains information for the
intended recipient only. It may contain proprietary material or confidential
information. If you are not the intended recipient you are not authorized to
distribute, copy or use this e-mail or any attachment to it. Murex cannot
guarantee that it is virus free and accepts no responsibility for any loss or
damage arising from its use. If you have received this e-mail in error please
notify immediately the sender and delete the original email received, any
attachments and all copies from your system.