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

Steve Shabino resolved AMQ-1716.
--------------------------------

    Resolution: Won't Fix

I realized that I could use the xbean-spring tools successfully.  Silly me.

> Hard to set SystemUsage params via Spring
> -----------------------------------------
>
>                 Key: AMQ-1716
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1716
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>            Reporter: Steve Shabino
>            Priority: Minor
>
> I expected to be able to configure system usage parameters via Spring like 
> this:
> {code:title=Expected Spring SystemUsage Bean Definition}
> <bean id="systemUsage"
>       class="org.apache.activemq.usage.SystemUsage">
>       <property name="memoryUsage">
>               <bean class="org.apache.activemq.usage.MemoryUsage">
>                       <property name="limit" value="100000000" />
>               </bean>
>       </property>
>       <property name="storeUsage">
>               <bean class="org.apache.activemq.usage.StoreUsage">
>                       <property name="limit" value="50000000" />
>               </bean>
>       </property>
>       <property name="tempUsage">
>               <bean class="org.apache.activemq.usage.TempUsage">
>                       <property name="limit" value="100000000" />
>               </bean>
>       </property>
> </bean>
> <bean id="myBroker"
>               class="org.apache.activemq.broker.BrokerService" 
> init-method="start"
>               destroy-method="stop">
>               <property name="systemUsage" ref="systemUsage" />
>               <stuff missing here/>
> </bean>
> {code}
> However, this does not work because the StorageUsage and TempUsage are never 
> bound to the persistenceAdapter or tempDataStore.
> This is the workaround I had to use:
> {code:title=Required Spring SystemUsage Bean Definition}
>       <bean id="persistenceAdapter"
>               class="org.apache.activemq.store.amq.AMQPersistenceAdapter">
>               <property name="syncOnWrite" value="false" />
>               <property name="directory" value="file:c:\mqdata" />
>       </bean>
>       <bean id="tempDataStore"
>               class="org.apache.activemq.kaha.StoreFactory" 
> factory-method="open">
>               <constructor-arg type="java.io.File">
>                       <value>file:c:\mqtemp</value>
>               </constructor-arg>
>               <constructor-arg type="java.lang.String">
>                       <value>rw</value>
>               </constructor-arg>
>       </bean>
>       
>       <bean id="systemUsage"
>               class="org.apache.activemq.usage.SystemUsage">
>       <constructor-arg type="java.lang.String"
>                       value="localABSystemUsage" />
>       <constructor-arg
>                       type="org.apache.activemq.store.PersistenceAdapter"
>                       ref="persistenceAdapter" />
>       <constructor-arg type="org.apache.activemq.kaha.Store"
>                       ref="tempDataStore" />
>       <property name="memoryUsage">
>               <bean class="org.apache.activemq.usage.MemoryUsage">
>                       <property name="limit" value="100000000" />
>               </bean>
>       </property>
>       <property name="storeUsage">
>               <bean class="org.apache.activemq.usage.StoreUsage">
>                       <property name="limit" value="50000000" />
>               </bean>
>       </property>
>       <property name="tempUsage">
>               <bean class="org.apache.activemq.usage.TempUsage">
>                       <property name="limit" value="100000000" />
>               </bean>
>       </property>
> </bean>
> <bean id="myBroker"
>               class="org.apache.activemq.broker.BrokerService" 
> init-method="start"
>               destroy-method="stop">
>               <property name="systemUsage" ref="systemUsage" />
>               <property name="persistenceAdapter" ref="persistenceAdapter" />
>               <property name="tempDataStore" ref="tempDataStore" />
>               <stuff missing here/>
>               
>       </bean>
> {code}
> One problem with this work-around is that old temp files are never purged as 
> they would be if I simply configured the temp directory via the BrokerService 
> interface.  It would be nice to have a more straight-forward means of 
> configuring the BrokerService via Spring.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to