Thanks for detailed explanation. I'll update all BAM related components (data-bridge, cassandra) to use the above CarbonUtil method to get the port offset.
Thanks, Sinthuja. On Tue, Apr 2, 2013 at 3:38 PM, Afkham Azeez <[email protected]> wrote: > When defining any ports in Carbon, there is a recommended way of doing it. > Some time back, we decided that it should be possible for a user to change > all relevant ports from a single location. That is why we have the Ports > section in the carbon.xml file. Once you define a new port, it should be > overridable from the carbon.xml. > > Here is the ports section > > <Ports> > 106 > 107 <!-- Ports offset. This entry will set the value of the ports > defined below to > 108 the define value + Offset. > 109 e.g. Offset=2 and HTTPS port=9443 will set the effective > HTTPS port to 9445 > 110 --> > 111 <Offset>0</Offset> > 112 > 113 <!-- The JMX Ports --> > 114 <JMX> > 115 <!--The port RMI registry is exposed--> > 116 <RMIRegistryPort>9999</RMIRegistryPort> > 117 <!--The port RMI server should be exposed--> > 118 <RMIServerPort>11111</RMIServerPort> > 119 </JMX> > 120 > 121 <!-- Embedded LDAP server specific ports --> > 122 <EmbeddedLDAP> > 123 <!-- Port which embedded LDAP server runs --> > 124 <LDAPServerPort>10389</LDAPServerPort> > 125 <!-- Port which KDC (Kerberos Key Distribution Center) > server runs --> > 126 <KDCServerPort>8000</KDCServerPort> > 127 </EmbeddedLDAP> > 128 > 129 <!-- Embedded Qpid broker ports --> > 130 <EmbeddedQpid> > 131 <!-- Broker TCP Port --> > 132 <BrokerPort>5672</BrokerPort> > 133 <!-- SSL Port --> > 134 <BrokerSSLPort>8672</BrokerSSLPort> > 135 </EmbeddedQpid> > 136 > 137 <!-- > 138 Override datasources JNDIproviderPort defined in bps.xml > and datasources.properties files > 139 --> > 140 <!--<JNDIProviderPort>2199</JNDIProviderPort>--> > 141 <!--Override receive port of thrift based entitlement > service.--> > 142 > <ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort> > 143 > 144 </Ports> > > > So, when these ports are defined in the relevant file, you are supposed to > use the keys, e.g. JMX.RMIRegistryPort is defined in the jmx.xml file, > instead of a hard coded port. Now you have to use the below CarbonUtil > method to get the proper port along with the portOffset. > > Here is the relevant method in CarbonUtils. > > /** > * This is to read the port values defined in other config files, which > are overridden > * from those in carbon.xml. > * @param property > * @return > */ > public static int getPortFromServerConfig(String property) { > String port; > int portNumber = -1; > int indexOfStartingChars = -1; > int indexOfClosingBrace; > > ServerConfiguration serverConfiguration = > ServerConfiguration.getInstance(); > // The following condition deals with ports specified to be read from > carbon.xml. > // Ports are specified as templates: eg > ${Ports.EmbeddedLDAP.LDAPServerPort}, > if (indexOfStartingChars < property.indexOf("${") && > (indexOfStartingChars = property.indexOf("${")) != -1 && > (indexOfClosingBrace = property.indexOf('}')) != -1) { // Is this > template used? > > String portTemplate = property.substring(indexOfStartingChars + 2, > indexOfClosingBrace); > > port = serverConfiguration.getFirstProperty(portTemplate); > > if (port != null) { > portNumber = Integer.parseInt(port); > } > > } > String portOffset = System.getProperty("portOffset", > > serverConfiguration.getFirstProperty("Ports.Offset")); > //setting up port offset properties as system global property which > allows this > //to available at the other context as required (fix 2011-11-30) > System.setProperty("portOffset", portOffset); > return portOffset == null? portNumber : portNumber + > Integer.parseInt(portOffset); > } > > > > > On Tue, Apr 2, 2013 at 3:31 PM, Afkham Azeez <[email protected]> wrote: > >> Port offset has to be obtained from the CarbonUtil class. There is a >> method there. If you use that standard method, it will always give the >> correct portOffset. This is what the well-behaved components have used. >> >> Azeez >> >> >> On Tue, Apr 2, 2013 at 3:28 PM, Sinthuja Ragendran <[email protected]>wrote: >> >>> I tested the BAM 2.2.0 with -DportOffset and seems like only http and >>> https ports are getting changed when starting with -DportOffset and thrift >>> port, cassandra port, etc is not getting changed. >>> >>> After further digging into the code, I see we are getting the port >>> offset from ServerConfigurationService which is set as OSGI service and >>> that is not returning the correct offset value. Is there anything wrong >>> here? >>> >>> Thanks, >>> Sinthuja. >>> >>> >>> On Tue, Apr 2, 2013 at 2:47 PM, Afkham Azeez <[email protected]> wrote: >>> >>>> $subject >>>> >>>> Looks like we are forced to edit the carbon.xml file and set the >>>> offset. Is this crrect? If so why has this platform best practice not been >>>> followed? >>>> >>>> -- >>>> *Afkham Azeez* >>>> Director of Architecture; WSO2, Inc.; http://wso2.com >>>> Member; Apache Software Foundation; http://www.apache.org/ >>>> * <http://www.apache.org/>** >>>> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>> twitter: >>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>> * >>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>> * >>>> * >>>> *Lean . Enterprise . Middleware* >>>> >>> >>> >>> >>> -- >>> *Sinthuja Rajendran* >>> Software Engineer <http://wso2.com/> >>> WSO2, Inc.:http://wso2.com >>> >>> Blog: http://sinthu-rajan.blogspot.com/ >>> Mobile: +94774273955 >>> >>> >>> >> >> >> -- >> *Afkham Azeez* >> Director of Architecture; WSO2, Inc.; http://wso2.com >> Member; Apache Software Foundation; http://www.apache.org/ >> * <http://www.apache.org/>** >> email: **[email protected]* <[email protected]>* cell: +94 77 3320919 >> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >> * >> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >> * >> * >> *Lean . Enterprise . Middleware* >> > > > > -- > *Afkham Azeez* > Director of Architecture; WSO2, Inc.; http://wso2.com > Member; Apache Software Foundation; http://www.apache.org/ > * <http://www.apache.org/>** > email: **[email protected]* <[email protected]>* cell: +94 77 3320919 > blog: **http://blog.afkham.org* <http://blog.afkham.org>* > twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> > * > linked-in: **http://lk.linkedin.com/in/afkhamazeez* > * > * > *Lean . Enterprise . Middleware* > -- *Sinthuja Rajendran* Software Engineer <http://wso2.com/> WSO2, Inc.:http://wso2.com Blog: http://sinthu-rajan.blogspot.com/ Mobile: +94774273955
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
