The UnsupportedOperationException is being thrown by code in either WebSphere 
Application Server, or Liberty

What this means is that the ObjectFactory.getObjectInstance(Object, Name, 
Context, Hashtable) method was called, but the Object parameter was not null 
and not an instance of String which is required by the contract for a url 
namespace lookup. In the code path that is being gone down this is not an 
unexpected situation because it is trying to work out which of all the 
ObjectFactories is the one to resolve the Object, this one isn’t the right one.

Looking at the latest version of the code in Aries JNDI would catch and ignore 
this exception. The line numbers in your code do not match the latest code, and 
I know WebSphere ships based on an older version of this code so I would 
suggest you contact the app server vendor via the appropriate support channel.

Alasdair
P.S. In interest of disclosure I’m the Chief Architect for WebSphere and 
Liberty.

> On Apr 16, 2021, at 4:08 PM, Oskar Z <oska...@yahoo.com.INVALID> wrote:
> 
> Hi There,
> 
> The following code produces an exception:
> 
>            try {
>              connectionFactory =
>                  (ConnectionFactory) 
> (initContext).lookup(connectionFactoryName);
>              //initContext.lo
>            } catch (Exception ef) {
> 
> 
> Caused by: javax.naming.OperationNotSupportedException
>       at 
> com.ibm.ws.jndi.url.contexts.javacolon.internal.JavaURLContextFactory.getObjectInstance(JavaURLContextFactory.java:94)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper.getObjectFromFactory(ObjectFactoryHelper.java:260)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper.getObjectInstanceUsingObjectFactories(ObjectFactoryHelper.java:123)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper.doGetObjectInstance(ObjectFactoryHelper.java:99)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper.lambda$getObjectInstance$0(ObjectFactoryHelper.java:62)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper$$Lambda$79/00000000FC21C730.call(Unknown
>  Source) ~[?:?]
>       at org.apache.aries.jndi.Utils.doPrivilegedE(Utils.java:158) ~[?:?]
>       at 
> org.apache.aries.jndi.ObjectFactoryHelper.getObjectInstance(ObjectFactoryHelper.java:62)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.OSGiObjectFactoryBuilder.getObjectInstance(OSGiObjectFactoryBuilder.java:66)
>  ~[?:?]
>       at 
> org.apache.aries.jndi.OSGiObjectFactoryBuilder.getObjectInstance(OSGiObjectFactoryBuilder.java:48)
>  ~[?:?]
>       at 
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:311) 
> ~[?:1.8.0]
>       at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:773) 
> ~[tibjms.jar:8.6.0]
>       at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:494) 
> ~[tibjms.jar:8.6.0]
>       at 
> org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:149) ~[?:?]
>       at javax.naming.InitialContext.lookup(InitialContext.java:428) 
> ~[?:1.8.0]
>       at 
> com.micromuse.common.datasource.JMSConnection$1.call(JMSConnection.java:166) 
> ~[nci.jar:?]
>       at 
> com.micromuse.common.datasource.JMSConnection$1.call(JMSConnection.java:94) 
> ~[nci.jar:?]
>       at 
> com.micromuse.common.util.concurrent.NamedDelegatingCallable.call(NamedDelegatingCallable.java:71)
>  ~[nci.jar:?]
>       at java.util.concurrent.FutureTask.run(FutureTask.java:277) ~[?:1.8.0]
>       at 
> com.micromuse.common.util.concurrent.TrackingExecutor$1.run(TrackingExecutor.java:105)
>  ~[nci.jar:?]
> 
> Anyone know why?
> 
> Thanks,
> Oskar

Reply via email to