You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by Oskar Z <os...@yahoo.com.INVALID> on 2021/04/16 20:08:52 UTC

JMS Connection - InitialConect Lookup

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

Re: JMS Connection - InitialConect Lookup

Posted by Oskar Z <os...@yahoo.com>.
Hi Alasdair,

Thank you for your reply. I know IBM packages this package, and I’m myself from IBM, but I wanted to double check here as well.

So the issues is happening in one of the latest versions of Liberty (this was not happening two fix packs before).

The working jars are with version postfix in name  *.1.3.31.jar

And not working jars are: *.1.3.44.jar

Thanks!
Oskar

> On Apr 16, 2021, at 4:26 PM, Alasdair Nottingham <al...@gmail.com> wrote:
> 
> 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 <os...@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
> 


Re: JMS Connection - InitialConect Lookup

Posted by Alasdair Nottingham <al...@gmail.com>.
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 <os...@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


Re: JMS Connection - InitialConect Lookup

Posted by Alasdair Nottingham <al...@gmail.com>.
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 <os...@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