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/