Hi,

Following is the way this was fixed FYI, since as Azeez said, it would be a
general way which can be used in any other place where ports are read from
configuration files other than carbon.xml.

1. Specify the port under 'Ports' section of carbon.xml.

2. In any other configuration file where a port is mentioned, give the
default port value as a key which references the specific port in carbon.xml

eg:  ${Ports.EmbeddedLDAP.LDAPServerPort}

(in user-mgt.xml, now the connection url is mentioned as: *
ldap://localhost:${Ports.EmbeddedLDAP.LDAPServerPort} *
*--*an advanced user can change the port if he is connecting to an external
LDAP.)
*
*
3. If the port is mentioned in that way in the custom configuration file,
use the implemented method "getPortFromServerConfig" in CarbonUtil, to get
the port value from carbon.xml, by passing the above string template. (In
this way, no need to hard code the string for specific ports.)
   Else If the actual port is given, read it directly.

This is not committed yet, since I could not build a product distribution to
test this, will commit once I test it.

Thanks,
Hasini.

On Mon, Mar 14, 2011 at 9:52 AM, Hasini Gunasinghe <[email protected]> wrote:

> Hi,
>
> I will work on this-so that user manager will read LDAP port from
> carbon.xml if embedded-ldap.xml is enabled.
>
> As mentioned in the thread [1], AmilaJ has made the ldap.server component
> to read the LDAP port from carbon.xml.
>
> So then embedded-ldap port can be changed only using carbon.xml.
>
> [1] http://markmail.org/message/xztu2rnsjf3fulko
>
> Thanks,
> Hasini.
>
>
> On Mon, Mar 14, 2011 at 6:44 AM, Prabath Siriwardana <[email protected]>wrote:
>
>> Hi AmilaJ/Hasini,
>>
>> Can we do something like this to make sure - user only needs to change
>> LDAP ports only in one place..
>>
>> If embedded LDAP is enabled UserManager reads the LDAP port from
>> carbon.xml  - Ports section... -  not from user-mgt.xml.
>>
>> In this case user only needs to change the ports section of carbon.xml
>>
>> WDYT?
>>
>> Thanks & regards,
>> -Prabath
>>
>>
>>  On Mon, Mar 14, 2011 at 12:49 AM, Afkham Azeez <[email protected]> wrote:
>>
>>>  Hmm,
>>> I had two instances of AS running, and it seems that the second one was
>>> binding to the first ones LDAP port. This is really confusing. The LDAP
>>> ports needs to be changed in two different XML files. Can you guys
>>> (AmilaJ/Hasini?) please fix this?
>>>
>>>
>>> On Mon, Mar 14, 2011 at 12:44 AM, Afkham Azeez <[email protected]> wrote:
>>>
>>>> I am intermittently seeing the following error, which could mean that UM
>>>> is trying to start before LDAP has started.
>>>>
>>>> [2011-03-14 00:42:47,024]  INFO
>>>> {org.wso2.carbon.apacheds.impl.ApacheDirectoryPartitionManager} -
>>>>  Partitionroot added to directory service.
>>>> [2011-03-14 00:42:47,997] ERROR
>>>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Error obtaining
>>>> connection. localhost:10389
>>>> javax.naming.CommunicationException: localhost:10389 [Root exception is
>>>> java.net.ConnectException: Connection refused]
>>>>  at com.sun.jndi.ldap.Connection.<init>(Connection.java:210)
>>>> at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
>>>>  at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580)
>>>> at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)
>>>>  at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
>>>> at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
>>>>  at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
>>>> at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
>>>>  at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
>>>> at
>>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactory.getInitialContext(CarbonContextHolder.java:756)
>>>>  at
>>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>>>> at
>>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>>>>  at javax.naming.InitialContext.init(InitialContext.java:223)
>>>> at javax.naming.InitialContext.<init>(InitialContext.java:197)
>>>>  at
>>>> javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
>>>> at
>>>> org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:72)
>>>>  at
>>>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.<init>(LDAPUserStoreManager.java:101)
>>>> at
>>>> org.wso2.carbon.user.core.ldap.ApacheDSUserStoreManager.<init>(ApacheDSUserStoreManager.java:87)
>>>>  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>> Method)
>>>> at
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>  at
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:194)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:147)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:113)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:225)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:104)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:117)
>>>>  at
>>>> org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:51)
>>>> at
>>>> org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:54)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:782)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:773)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:754)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
>>>> at
>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
>>>>  at
>>>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)
>>>> Caused by: java.net.ConnectException: Connection refused
>>>>  at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>>  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>>>> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>>  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
>>>> at java.net.Socket.connect(Socket.java:529)
>>>>  at java.net.Socket.connect(Socket.java:478)
>>>> at java.net.Socket.<init>(Socket.java:375)
>>>>  at java.net.Socket.<init>(Socket.java:189)
>>>> at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352)
>>>>  at com.sun.jndi.ldap.Connection.<init>(Connection.java:187)
>>>> ... 42 more
>>>> [2011-03-14 00:42:48,000] ERROR
>>>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Trying again to
>>>> get connection.
>>>> [2011-03-14 00:42:48,000] ERROR
>>>> {org.wso2.carbon.user.core.ldap.LDAPConnectionContext} -  Error obtaining
>>>> connection for the second timelocalhost:10389
>>>> javax.naming.CommunicationException: localhost:10389 [Root exception is
>>>> java.net.ConnectException: Connection refused]
>>>> at com.sun.jndi.ldap.Connection.<init>(Connection.java:210)
>>>>  at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118)
>>>> at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580)
>>>>  at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652)
>>>> at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
>>>>  at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
>>>> at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
>>>>  at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
>>>> at
>>>> com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
>>>>  at
>>>> org.wso2.carbon.utils.multitenancy.CarbonContextHolder$CarbonInitialJNDIContextFactory.getInitialContext(CarbonContextHolder.java:756)
>>>> at
>>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>>>>  at
>>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>>>> at javax.naming.InitialContext.init(InitialContext.java:223)
>>>>  at javax.naming.InitialContext.<init>(InitialContext.java:197)
>>>> at
>>>> javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
>>>>  at
>>>> org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:72)
>>>> at
>>>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.<init>(LDAPUserStoreManager.java:101)
>>>>  at
>>>> org.wso2.carbon.user.core.ldap.ApacheDSUserStoreManager.<init>(ApacheDSUserStoreManager.java:87)
>>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>>>  at
>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>> at
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:194)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:147)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:113)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:225)
>>>> at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:104)
>>>>  at
>>>> org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:117)
>>>> at
>>>> org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:51)
>>>>  at
>>>> org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:54)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:782)
>>>>  at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:773)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:754)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
>>>>  at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
>>>> at
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
>>>>  at
>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
>>>> at
>>>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)
>>>> Caused by: java.net.ConnectException: Connection refused
>>>> at java.net.PlainSocketImpl.socketConnect(Native Method)
>>>> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>>>  at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>>>> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>>>  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
>>>> at java.net.Socket.connect(Socket.java:529)
>>>>  at java.net.Socket.connect(Socket.java:478)
>>>> at java.net.Socket.<init>(Socket.java:375)
>>>>  at java.net.Socket.<init>(Socket.java:189)
>>>> at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352)
>>>>  at com.sun.jndi.ldap.Connection.<init>(Connection.java:187)
>>>> ... 42 more
>>>> [2011-03-14 00:42:48,002] ERROR
>>>> {org.wso2.carbon.user.core.ldap.LDAPUserStoreManager} -  Error obtaining
>>>> connection. localhost:10389
>>>> org.wso2.carbon.user.core.UserStoreException: Error obtaining
>>>> connection. localhost:10389
>>>>  at
>>>> org.wso2.carbon.user.core.ldap.LDAPConnectionContext.getContext(LDAPConnectionContext.java:81)
>>>> at
>>>> org.wso2.carbon.user.core.ldap.LDAPUserStoreManager.<init>(LDAPUserStoreManager.java:1
>>>>
>>>> --
>>>> *Afkham Azeez*
>>>> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com
>>>> ,
>>>> *
>>>> *
>>>> *Member; Apache Software Foundation; 
>>>> **http://www.apache.org/*<http://www.apache.org/>
>>>> *
>>>> email: **[email protected]* <[email protected]>* cell: 
>>>> <%2B94%2077%203320919><%2B94%2077%203320919>+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*
>>> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com
>>> ,
>>> *
>>> *
>>> *Member; Apache Software Foundation; 
>>> **http://www.apache.org/*<http://www.apache.org/>
>>> *
>>> email: **[email protected]* <[email protected]>* cell: <%2B94%2077%203320919>+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*
>>>
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> [email protected]
>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>>
>> --
>> Thanks & Regards,
>> Prabath
>>
>> http://blog.facilelogin.com
>> http://RampartFAQ.com
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to