On 02/10/2012 10:13 AM, Barbara Rosi-Schwartz wrote:

Hello everyone.

I want to use the Spring Configurator to configure access ports for my JMX MBeans, with ports changing for the different development environments.

The spring configuration file contains the following:

<beanid=/"featureLauncherMBean"/

class=/"com.iggroup.wb.core.featurelauncher.internal.DefaultFeatureLauncher"/

init-method=/"init"/ destroy-method=/"dismissAllFeatures"/>

</bean>

<util:mapid=/"exposedMBeans"/>

<entrykey=/"bean:type=featureLauncherMBean,name=remoteJMX"/

value-ref=/"featureLauncherMBean"/ />

</util:map>

<beanid=/"mBeanExporter"/class=/"org.springframework.jmx.export.MBeanExporter"/

p:beans-ref=/"exposedMBeans"/ p:assembler-ref=/"assembler"/ />

<util:listid=/"manageableInterfaces"/>

<value>com.iggroup.wb.core.featurelauncher.api.FeatureLauncherMBean</value>

</util:list>

<beanid=/"assembler"/

class=/"org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler"/

p:managedInterfaces-ref=/"manageableInterfaces"/ />

<beanid=/"registry"/ class=/"org.springframework.remoting.rmi.RmiRegistryFactoryBean"/

p:port=/"1099"/ />

<beanid=/"serverConnector"/

class=/"org.springframework.jmx.support.ConnectorServerFactoryBean"/

depends-on=/"registry"/ p:objectName=/"connector:name=rmi"/

p:serviceUrl=/"service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxrmi"/ />

The first bean, featureLauncherMBean, is the one I work with directly but the ones that contain the environment dependent properties are registry (port property) and serverConnector (serviceUrl property).These beans are just part of the wiring and I cannot access them directly.

How would I go about using the Configurator to get port and serviceUrl to point to the right port values depending upon the environment?


Use running modes to store the properties
http://cocoon.apache.org/subprojects/configuration/1.0/spring-configurator/2.0/1309_1_1.html
http://cocoon.apache.org/subprojects/configuration/1.0/spring-configurator/2.0/1310_1_1.html

so you have something like
src/main/resources/META-INF/cocoon/properties/
and in there a prod.properties (1) file and in a dev (RUNNING_MODE) folder the same file (2) with another url.

put in (1) serviceUrl=///service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxrmi/ and in (2) e.g. serviceUrl=///service:jmx:rmi://myhost/jndi/rmi://localhost:666/jmxrmi/

and then simply p:serviceUrl=/"${/serviceUrl/}"/ in your spring file.

HTH

salu2

TIA,

B.

BARBARA ROSI-SCHWARTZ

*Senior Developer*

**

IG Group|Cannon Bridge House**

25 Dowgate Hill|London|EC4R ZYA

t: +44(0)20 7573 0208 (Direct)

t: +44(0)20 7896 0011 (Switchboard)

w: www.iggroup.com


------------------------------------------------------------------------
The information contained in this email is strictly confidential and for the use of the addressee only, unless otherwise indicated. If you are not the intended recipient, please do not read, copy, use or disclose to others this message or any attachment. Please also notify the sender by replying to this email or by telephone (+44 (0)20 7896 0011) and then delete the email and any copies of it. Opinions, conclusions (etc) that do not relate to the official business of this company shall be understood as neither given nor endorsed by it. IG Group Holdings plc is a company registered in England and Wales under number 04677092. VAT registration number 761 2978 07. Registered Office: Cannon Bridge House, 25 Dowgate Hill, London EC4R 2YA. Listed on the London Stock Exchange. Its subsidiaries IG Markets Limited and IG Index Limited are authorised and regulated by the Financial Services Authority (IG Markets Limited FSA registration number 195355 and IG Index Limited FSA registration number 114059).


--
Thorsten Scherler<scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/

Reply via email to