Hi, The 'carbon.local.ip' system property is set from CarbonServerManager class [1].
System.setProperty(ServerConstants.LOCAL_IP_ADDRESS, NetworkUtils.getLocalHostname()); This NetworkUtils class [2] internally calls an Axis2 Util class [3] to get the hostname. hostName = org.apache.axis2.util.Utils.getIpAddress(); With this way, we cannot make sure which IP will be returned at runtime if there a multiple network interfaces. We deal this in production by setting proper hostnames in carbon.xml for HostName and MgtHostName. We also set hostnames/IP addresses for all other configurations. IMHO, the code should not depend on this 'carbon.local.ip' system property. The code should always get the hostname via some configuration value. If you also need to make sure the transport is bound to one network, you need to look at each transport configuration. For Servlet transport, you may use address property in Tomcat connectors [4]. For Synapse NIO, you can use bind-address property in axis2.xml transport configuration. The bind-address is not yet implemented for Synapse passthrough transport [5]. Thanks! Best Regards, [1] https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/core/org.wso2.carbon.core/4.2.0/src/main/java/org/wso2/carbon/core/init/CarbonServerManager.java [2] https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/core/org.wso2.carbon.utils/4.2.0/src/main/java/org/wso2/carbon/utils/NetworkUtils.java [3] http://axis.apache.org/axis2/java/core/api/org/apache/axis2/util/Utils.html#getIpAddress%28%29 [4] http://wiki.apache.org/tomcat/FAQ/Connectors#Q6 [5] http://stackoverflow.com/questions/21601792/wso2-api-manager-how-to-listen-passthroughhttplistener-on-single-ip-address On Sat, Mar 15, 2014 at 9:16 AM, Chan <[email protected]> wrote: > Hi folks, > How does carbon recognize the local ip of the machine? For example if the > machine has two ips what will be used as the ip for the 'carbon.local.ip' > system property? I had a strange issue when I am connected to the wifi and > connected using a dongle as well - carbon picks up the dongle ip rather > than the network ip. If this is the accepted behavior - how does it deal in > production? > > Cheers~ > > -- > Chan (Dulitha Wijewantha) > Software Engineer - Mobile Development > WSO2Mobile > Lean.Enterprise.Mobileware > * ~Email [email protected] <[email protected]>* > * ~Mobile +94712112165 <%2B94712112165>* > * ~Website dulitha.me <http://dulitha.me>* > * ~Twitter @dulitharw <https://twitter.com/dulitharw>* > *~SO @chan <http://stackoverflow.com/users/813471/chan>* > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Isuru Perera Senior Software Engineer | WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware about.me/chrishantha
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
