is this configuration file backward compatible? ie what if I use 2.3.0 org.apache.karaf.management.cfg is used and preserved during 2.3.0 to 2.3.1 upgrade.
Thanks -D On Tue, Oct 30, 2012 at 6:59 PM, <[email protected]> wrote: > Author: ffang > Date: Wed Oct 31 01:59:47 2012 > New Revision: 1403952 > > URL: http://svn.apache.org/viewvc?rev=1403952&view=rev > Log: > [KARAF-1129|KARAF-581]Allow configuring rmi Registry host as well as port > > Modified: > > karaf/branches/karaf-2.3.x/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.management.cfg > > karaf/branches/karaf-2.3.x/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java > > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml > > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.properties > > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.xml > > Modified: > karaf/branches/karaf-2.3.x/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.management.cfg > URL: > http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.management.cfg?rev=1403952&r1=1403951&r2=1403952&view=diff > ============================================================================== > --- > karaf/branches/karaf-2.3.x/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.management.cfg > (original) > +++ > karaf/branches/karaf-2.3.x/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.management.cfg > Wed Oct 31 01:59:47 2012 > @@ -25,7 +25,7 @@ > # Port number for RMI registry connection > # > rmiRegistryPort = 1099 > - > +rmiRegistryHost = 0.0.0.0 > # > # Port number for RMI server connection > # > @@ -39,7 +39,7 @@ jmxRealm = karaf > # > # The service URL for the JMXConnectorServer > # > -serviceUrl = > service:jmx:rmi://0.0.0.0:${rmiServerPort}/jndi/rmi://0.0.0.0:${rmiRegistryPort}/karaf-${karaf.name} > +serviceUrl = > service:jmx:rmi://0.0.0.0:${rmiServerPort}/jndi/rmi://${rmiRegistryHost}:${rmiRegistryPort}/karaf-${karaf.name} > > # > # Whether any threads started for the JMXConnectorServer should be started > as daemon threads > > Modified: > karaf/branches/karaf-2.3.x/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java > URL: > http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java?rev=1403952&r1=1403951&r2=1403952&view=diff > ============================================================================== > --- > karaf/branches/karaf-2.3.x/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java > (original) > +++ > karaf/branches/karaf-2.3.x/management/server/src/main/java/org/apache/karaf/management/RmiRegistryFactory.java > Wed Oct 31 01:59:47 2012 > @@ -16,14 +16,22 @@ > */ > package org.apache.karaf.management; > > +import java.io.IOException; > +import java.net.InetAddress; > +import java.net.ServerSocket; > +import java.net.UnknownHostException; > import java.rmi.RemoteException; > import java.rmi.registry.LocateRegistry; > import java.rmi.registry.Registry; > +import java.rmi.server.RMIClientSocketFactory; > +import java.rmi.server.RMIServerSocketFactory; > +import java.rmi.server.RMISocketFactory; > import java.rmi.server.UnicastRemoteObject; > > public class RmiRegistryFactory { > > private int port = Registry.REGISTRY_PORT; > + private String host; > private Registry registry; > private boolean locate; > private boolean create = true; > @@ -71,14 +79,22 @@ public class RmiRegistryFactory { > this.port = port; > } > > + public String getHost() { > + return host; > + } > + > + public void setHost(String host) { > + this.host = host; > + } > + > public Object getObject() throws Exception { > return registry; > } > > - public void init() throws RemoteException { > + public void init() throws RemoteException, UnknownHostException { > if (registry == null && locate) { > try { > - Registry reg = LocateRegistry.getRegistry(getPort()); > + Registry reg = LocateRegistry.getRegistry(host, getPort()); > reg.list(); > registry = reg; > } catch (RemoteException e) { > @@ -86,7 +102,15 @@ public class RmiRegistryFactory { > } > } > if (registry == null && create) { > - registry = LocateRegistry.createRegistry(getPort()); > + if (host != null && !host.isEmpty()) { > + RMIClientSocketFactory socketFactory = > RMISocketFactory.getDefaultSocketFactory(); > + InetAddress addr = InetAddress.getByName(host); > + RMIServerSocketFactory serverSocketFactory = new > KarafServerSocketFactory(addr, port); > + > + registry = LocateRegistry.createRegistry(getPort(), > socketFactory, serverSocketFactory); > + } else { > + registry = LocateRegistry.createRegistry(getPort()); > + } > locallyCreated = true; > } > } > @@ -99,4 +123,18 @@ public class RmiRegistryFactory { > } > } > > + private static class KarafServerSocketFactory implements > RMIServerSocketFactory { > + private final int port; > + private final InetAddress addr; > + > + private KarafServerSocketFactory(InetAddress addr, int port) { > + this.addr = addr; > + this.port = port; > + } > + > + public ServerSocket createServerSocket(int i) throws IOException { > + return new ServerSocket(port, 0, addr); > + } > + } > + > } > > Modified: > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml > URL: > http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml?rev=1403952&r1=1403951&r2=1403952&view=diff > ============================================================================== > --- > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml > (original) > +++ > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/blueprint/karaf-management.xml > Wed Oct 31 01:59:47 2012 > @@ -32,6 +32,7 @@ > <!-- Property place holder --> > <cm:property-placeholder persistent-id="org.apache.karaf.management" > update-strategy="reload"> > <cm:default-properties> > + <cm:property name="rmiRegistryHost" value=""/> > <cm:property name="rmiRegistryPort" value="1099"/> > <cm:property name="rmiServerPort" value="44444"/> > <cm:property name="jmxRealm" value="karaf"/> > @@ -68,6 +69,7 @@ > destroy-method="destroy"> > <property name="create" value="true"/> > <property name="locate" value="true"/> > + <property name="host" value="${rmiRegistryHost}"/> > <property name="port" value="${rmiRegistryPort}"/> > </bean> > > > Modified: > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.properties > URL: > http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1403952&r1=1403951&r2=1403952&view=diff > ============================================================================== > --- > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.properties > (original) > +++ > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.properties > Wed Oct 31 01:59:47 2012 > @@ -24,6 +24,9 @@ > management.name = Apache Karaf JMX Management > management.description = Configuration of Apache Karaf JMX Management > > +rmiRegistryHost.name = RMI Registry Host > +rmiRegistryHost.description = host of the registry for the exported RMI > service. Blank for all interfaces > + > rmiRegistryPort.name = RMI Registry Port > rmiRegistryPort.description = port of the registry for the exported RMI > service > > > Modified: > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.xml > URL: > http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.xml?rev=1403952&r1=1403951&r2=1403952&view=diff > ============================================================================== > --- > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.xml > (original) > +++ > karaf/branches/karaf-2.3.x/management/server/src/main/resources/OSGI-INF/metatype/metatype.xml > Wed Oct 31 01:59:47 2012 > @@ -19,6 +19,8 @@ > --> > <metatype:MetaData > xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0" > localization="OSGI-INF/metatype/metatype"> > <OCD id="org.apache.karaf.management" name="%management.name" > description="%management.description"> > + <AD id="rmiRegistryHost" type="String" default="" > name="%rmiRegistryHost.name" > + description="%rmiRegistryHost.description"/> > <AD id="rmiRegistryPort" type="Integer" default="1099" > name="%rmiRegistryPort.name" > description="%rmiRegistryPort.description"/> > <AD id="rmiServerPort" type="Integer" default="44444" > name="%rmiServerPort.name" > >
