Java activemq数据源的惰性初始化
我想知道是否有任何方法可以实现activemq持久性的惰性初始化。问题是,我不想事先指定数据库的用户和密码,而是让用户在应用程序初始化后输入这些值。例如,用户启动应用程序,然后需要输入数据库用户名和密码。完成此操作后,应用程序使用用户提供的数据库连接初始化activemq持久性Java activemq数据源的惰性初始化,java,spring,jms,activemq,applicationcontext,Java,Spring,Jms,Activemq,Applicationcontext,我想知道是否有任何方法可以实现activemq持久性的惰性初始化。问题是,我不想事先指定数据库的用户和密码,而是让用户在应用程序初始化后输入这些值。例如,用户启动应用程序,然后需要输入数据库用户名和密码。完成此操作后,应用程序使用用户提供的数据库连接初始化activemq持久性 <amq:persistenceFactory> <amq:journalPersistenceAdapterFactory journalLogFiles="4" dataDi
<amq:persistenceFactory>
<amq:journalPersistenceAdapterFactory journalLogFiles="4" dataDirectory="./journal-data" dataSource="#postgre-ds">
<amq:statements>
<amq:statements binaryDataType="VARCHAR(250)"/>
</amq:statements>
</amq:journalPersistenceAdapterFactory>
</amq:persistenceFactory>
博士后在哪里
<bean id="postgre-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:someURL"/>
<property name="username" value="username"/>
<property name="password" value="pa55w0rd"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
所以我想首先得到用户名和密码的值,然后初始化持久性。谢谢)使用spring的整个想法是在启动时连接这些东西,它覆盖了99%的用例 这没有什么神奇之处。总之,它只是普通的java对象。如果您需要对生命周期和输入参数进行更多控制,请继续手动操作
DataSource ds = new BasicDataSource();
ds.setUsername( getInput() );
// ... set all parameters needed
JournalPersistenceAdapterFactory factory = new JournalPersistenceAdapterFactory();
factory.setDataDirectoryFile(data);
//.. set all parameters needed
BrokerService broker = new BrokerService();
broker.setPersistenceFactory(factory);
broker.addConnector(ActiveMQConnectionFactory.DEFAULT_BROKER_BIND_URL);
// More config goes here
broker.start();
也许不要用弹簧!为什么需要手动输入凭据?这看起来很奇怪……嗯,您事先不知道数据库名称、用户名和密码。部署应用程序后,用户将输入这些值。