bravo

-D

On Tue, Oct 30, 2012 at 8:37 PM, Freeman Fang <[email protected]> wrote:
> Hi,
>
> That's a very good point.
>
> Just make a new commit which ensure it's exactly same default behavior with 
> 2.3.0, that said, the org.apache.karaf.management.cfg can also work in 2.3.1 
> without any change.
> r1403963
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://fusesource.com | http://www.redhat.com/
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
> On 2012-10-31, at 上午11:09, Dan Tran wrote:
>
>> 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"
>>>
>>>
>

Reply via email to