Inbound Resource Adapter problem on WebLogic 9
Hi,
I have a problem with inbound resource adapter deployed on WebLogic 9 when it's Work instance in run() tries to create an endpoint configured to RA via endpointActivation() - a call to MessageEndpointFactory's createEndpoint() method blocks if casted to interface that a receiving MDB implements!
Or, to look at the code:
endpoint = (MyMessageListener)factory.createEndpoint(null);
will block. If a cast is removed the call does not block anymore but (of course) it is no longer possible to call an MDB.
Any hints?
Turning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment.
Similar Messages
-
JCA Resource adapter deployment in Weblogic server
Hi,
I have deployed a resource adapter successfully in Weblogic server and works fine.My resource adapter has weblogic-ra.xml and ra.xml available under meta-inf folder.I have provided some properties in weblogic-ra.xml and ra.xml but unable to see the same properties when i open the resource adapter settings page in the the weblogic administration console
I want to change resource adapter properties from weblogic adminstration console but dont see the properties which i used during deployment.
Can someone help with identifying the issue or if i have to do something different.
Appreciate any help.
Thanks
SNot sure what might be causing this behavior. Property values in ra/weblogic-ra.xml should be displayed on the console (http://machine:port/console). I think I have experienced similar issue only to realize that console only displays 10 properties and other properties are displayed after pressing Next link on the page.
How many proprieties you have? What are getting displayed and what properties are not getting displayed?
Manoj -
Resource Adapter errors in WebLogic 10.3
Hi,
I'm getting ClassCastException from coherence 3.5.3 resource adapter in WebLogic 10.3.
I've already tried to install resource adapter as a separate deploy and inside ear file, but get same errors.
Has anybody already managed to use this adapter along with weblogic 10.3 ? The error occurs when I try to get a NamedCache object. The distributed cache named "cache" is up and running since I manage to get and put objects into cache by using NamedCache from CacheFactory (CacheFactory.getCache("cache")).
ctx = new InitialContext();
// the transaction manager from container
tx = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
tx.begin();
adapter = new CacheAdapter(ctx, "tangosol.coherenceTx", CacheAdapter.CONCUR_PESSIMISTIC ,CacheAdapter.TRANSACTION_REPEATABLE_GET, 300);
NamedCache cache = adapter.getNamedCache("cache", getClass().getClassLoader());
cache.put(1, 11);
Integer estoqueGet = (Integer)cache.get(1);
2010-06-05 20:24:02.859/96.703 Oracle Coherence GE 3.5.3/465 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/
a
2010-06-05 20:24:02.969/96.813 Oracle Coherence GE 3.5.3/465 <Info> (thread=Cluster, member=n/a): Failed to satisfy the variance: allowed=16, actual=47
2010-06-05 20:24:02.969/96.813 Oracle Coherence GE 3.5.3/465 <Info> (thread=Cluster, member=n/a): Increasing allowable variance to 19
2010-06-05 20:24:03.344/97.188 Oracle Coherence GE 3.5.3/465 <Info> (thread=Cluster, member=n/a): This Member(Id=2, Timestamp=2010-06-05 20:24:03.078, Address=1
0.10.10.10:8089, MachineId=2570, Location=machine:ACCENTUR-1FAF0A,process:8036, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=1) joined cluste
r "cluster:0xDDEB" with senior Member(Id=1, Timestamp=2010-06-05 20:23:06.562, Address=10.10.10.10:8088, MachineId=2570, Location=machine:ACCENTUR-1FAF0A,proces
s:6300, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=1)
2010-06-05 20:24:03.438/97.282 Oracle Coherence GE 3.5.3/465 <D5> (thread=Cluster, member=n/a): Member 1 joined Service Management with senior member 1
2010-06-05 20:24:03.438/97.282 Oracle Coherence GE 3.5.3/465 <D5> (thread=Cluster, member=n/a): Member 1 joined Service DistributedCache with senior member 1
2010-06-05 20:24:03.656/97.500 Oracle Coherence GE 3.5.3/465 <D5> (thread=Invocation:Management, member=2): Service Management joined the cluster with senior se
rvice member 1
2010-06-05 20:24:04.125/97.985 Oracle Coherence GE 3.5.3/465 <D5> (thread=TcpRingListener, member=2): TcpRing: connecting to member 1 using TcpSocket{State=STAT
E_OPEN, Socket=Socket[addr=/10.10.10.10,port=3748,localport=8089]}
2010-06-05 20:24:04.141/97.985 Oracle Coherence GE 3.5.3/465 <Info> (thread=[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)', memb
er=2): Loaded cache configuration from "zip:D:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/coherenceapp/v3byxq/war/WEB-
INF/lib/coherence.jar!/coherence-cache-config.xml"
2010-06-05 20:24:04.438/98.282 Oracle Coherence GE 3.5.3/465 <D5> (thread=DistributedCache, member=2): Service DistributedCache joined the cluster with senior s
ervice member 1
2010-06-05 20:24:04.453/98.297 Oracle Coherence GE 3.5.3/465 <D5> (thread=DistributedCache, member=2): Service DistributedCache: received ServiceConfigSync cont
aining 258 entries
2010-06-05 20:24:04.547/98.391 Oracle Coherence GE 3.5.3/465 <D4> (thread=DistributedCache, member=2): Asking member 1 for 128 primary partitions
2010-06-05 20:24:04.828/98.672 Oracle Coherence GE 3.5.3/465 <Error> (thread=DistributedCache, member=2): An exception (java.io.IOException) occurred reading Me
ssage Response Type=21 for Service=DistributedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, Ass
ignedPartitions=0, BackupPartitions=0}
2010-06-05 20:24:04.828/98.672 Oracle Coherence GE 3.5.3/465 <Error> (thread=DistributedCache, member=2): Terminating DistributedCache due to unhandled exceptio
n: java.io.IOException
2010-06-05 20:24:04.828/98.672 Oracle Coherence GE 3.5.3/465 <Error> (thread=DistributedCache, member=2):
java.io.IOException: Class initialization failed: java.lang.ClassCastException: com.tangosol.run.xml.SimpleElement
at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:1946)
at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2273)
at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2219)
at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:60)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.readObject(Service.CDB:4)
at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1)
at com.tangosol.coherence.component.net.message.DistributedCacheResponse.read(DistributedCacheResponse.CDB:2)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:123)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
Class: com.tangosol.run.xml.SimpleElement
ClassLoader: weblogic.utils.classloaders.ChangeAwareClassLoader@15fe77a finder: weblogic.utils.classloaders.CodeGenClassFinder@2a865b8 annotation: coherenceapp@
WebAppCoherence
ContextClassLoader: weblogic.utils.classloaders.ChangeAwareClassLoader@15fe77a finder: weblogic.utils.classloaders.CodeGenClassFinder@2a865b8 annotation: cohere
nceapp@WebAppCoherence
at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:1961)
at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2273)
at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2219)
at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:60)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.readObject(Service.CDB:4)
at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1)
at com.tangosol.coherence.component.net.message.DistributedCacheResponse.read(DistributedCacheResponse.CDB:2)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:123)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:619)
2010-06-05 20:24:04.844/98.688 Oracle Coherence GE 3.5.3/465 <D5> (thread=DistributedCache, member=2): Service DistributedCache left the cluster
java.lang.RuntimeException: Failed to start Service "DistributedCache" (ServiceState=SERVICE_STOPPED)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.waitAcceptingClients(Service.CDB:12)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:11)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.ensureCache(DistributedCache.CDB:29)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.ensureCache(DistributedCache.CDB:39)
at com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache$Router(SafeCacheService.CDB:1)
at com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache(SafeCacheService.CDB:46)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:878)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1088)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:304)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.ra.component.connector.resourceAdapter.cciAdapter.CacheAdapter$ManagedConnection$Connection$Interaction.execute(CacheAdapter.C
DB:35)
at com.tangosol.run.jca.CacheAdapter.getNamedCache(CacheAdapter.java:329)
at com.tangosol.run.jca.CacheAdapter.getNamedCache(CacheAdapter.java:271)
at ServletCoherence.doGet(ServletCoherence.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Exception: java.lang.RuntimeException: Failed to start Service "DistributedCache" (ServiceState=SERVICE_STOPPED)
java.lang.RuntimeException: Failed to start Service "DistributedCache" (ServiceState=SERVICE_STOPPED)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.waitAcceptingClients(Service.CDB:12)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:11)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.ensureCache(DistributedCache.CDB:29)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.ensureCache(DistributedCache.CDB:39)
at com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache$Router(SafeCacheService.CDB:1)
at com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache(SafeCacheService.CDB:46)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:878)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1088)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:304)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.ra.component.connector.resourceAdapter.cciAdapter.CacheAdapter$ManagedConnection$Connection$Interaction.execute(CacheAdapter.C
DB:35)
at com.tangosol.run.jca.CacheAdapter.getNamedCache(CacheAdapter.java:329)
at com.tangosol.run.jca.CacheAdapter.getNamedCache(CacheAdapter.java:271)
at ServletCoherence.doGet(ServletCoherence.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)The problem may be related to having more than one coherence.jar and tangosol.jar in the classpath. Can you verify that you only have one of those in the classpath?
/Christer -
Ear access standalone Resource Adapter problem
I deployed a standalone resource adapter. Then I deployed a ear.
In the ear, I try to look up the resource adapter, I got an exception:
javax.naming.NameNotFoundException: No Object found: MyRA|null
In weblogic-ra.xml, I added:
<enable-global-access-to-classes>true</enable-global-access-to-classes>
but still have the problem.
However, when I embeded the RA in the ear and deploy the ear, I can get the RA by lookup()
Is there anyway I can get successfully look up the standalone RA?
P.S.
My problem seems to be similar with an earlier post "Access Resource Adaptar outside the EAR".
Access Resource Adaptar outside the EAR
My problem is different.
I lookup the RA in an ear deployed in the server.
However, I'm not using EJB to lookup the RA.
server version: weblogic server 11g r1
Thanks a lotMy RA runs correctly after deployment, I can see my RA in the JNDI tree.
I just did some more tests.
I use the following way to look up:
InitialContext ctx = new InitialContext();
ConnectionFactory cf = (ConnectionFactory) ctx.lookup("MyConnectionFactory");
If I look up it in an EJB, I can get the object.
But when I look up in a servlet, no object can be found.
The servlet is in a war embeded in the ear. -
Messaging Bridge/Resource adapter problem on Solaris?
Has anyone successfully used the supplied resource adapter and messaging bridge
on Solaris? We seem to have problems getting the resource adapter to be bound
properly. After creating a connector through the admin console (using any of the
weblogic supplied jms-*-adp.rar files) the element shows up in the JNDI tree but
has no object information associated with it - which I assume means it is not
bound. The following error shows up in the weblogic log file:
####<Jan 24, 2003 6:28:03 PM CST> <Error> <Connector> <fssun02> <AdminServer>
<ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'> <kernel identity>
<> <190004> <ManagedConnectionFactory not found for jndiName eis/jms/WLSConnectionFactoryJNDINoTX.>
We are using WL 7.0.1.0 and Solaris 2.8 (8). With the same configuration on Win
2K everything works properly. Classpath's etc all seem to be correct. Any ideas?
thanks,
I finally got my Messaging Bridge (Tibco to a WLS Cluster) to work. See my post 3 messages before yours - to which no-one responded... :-(
So here goes with my suggestion based on what I have done.
1. Create a Distributed Destination for the WLS queue and "auto deploy" it your cluster. (Read the manual on how to do that, it is quite straightforward).
2. In the Local Bridge Destination, put :
Connection URL - nothing
Initial Context Factory - weblogic.jndi.WLInitialContextFactory
Connection Factory JNDI Name - <your JMS conection factory name>
Destination JNDI Name - <the JNDI name given to the Distributed Destination>.
I hope that works.
Andy -
WebLog 9 Class loader problem with an Inbound Resource Adapter
The following code
MessageEndpoint messageEndPoint = null;
InboundListener listener = null;
messageEndPoint = this.messageEndpointFactory.createEndpoint(null);
listener = (InboundListener) messageEndPoint;
causes a ClassCastException as the Listener class is packaged both in the ResourceAdapter and in the EAR
holding the MessageDrivenBean: same class but two
different class loaders !
How can I solve this problem ?Turning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment. -
Problem with Inbound Resource-Adapter
Hi
we have an adapter for bpel that installs as rar in the soa oc4j instance runing on a linux maschine (j2ee+bpel, no http/apache). Because the adapter needs to bound a port <1024 for incoming messages, the application server runs as root-user. Is it possible to run the oc4j-instance as oracle user and bind to that port <1024 by setting a sticky bit? Which binary we have to change? Is there any configuration options to opmn?
Thanks in advance
GregorTurning on Debugging, found the problem:
<[JCABindingManager] activationSpec=null>
<[JCABindingManager] The activationSpec is null, deActivation is skipped>
In the application.xml, I had
1. ejb (mdb) module and then
2. connector module
Changed the application.xml to
1. connector module and then
2. ejb (mdb) module
container then called endpointDeactivation on undeployment. -
Can someone tell me why my message is not processed by XI. I use a File Adapter. The File Adapter is "active" with the following configuration.
Adapter type = File
transport protocal = Filesystem
message protocol = File
adapter engine = integration server
Source directory = "e:/XIprocessFiles"
File name = *.xml
File type = textEdward,
What do you exactly meant with not processed? Is the file adapter not processing/sending your xml file to the XI system? Or
is your interface defined in XI not doing anything with the input message?
Assuming your situation is the first one; Then you should start by checking the source file name, source directory name, contentType (you have text, this should be text/xml), ContentKind (this should be T) and PollingInterval...
In the second situation you should then look at adapter config settings like: namespace, sender interface name, sender business name etc...
Cheers,
Rob -
Can't Find Custom Work Manager For Resource Adapter
I'm creating an inbound resource adapter and wish to throttle the number of connections via a custom work manager.
If I understand the BEA docs, I can declare and define a resource adapter's work manager inside of its entry in weblogic-ra.xml .
For example:
<?xml version = "1.0"?>
<weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
<jndi-name>InboundRA</jndi-name>
<!-- WM declared below -->
<work-manager>
<name>CustomWM</name>
<max-threads-constraint>
<name>maxthreads</name>
<count>3</count>
</max-threads-constraint>
</work-manager>
However, upon startup I see :
<BEA-002919> <Unable to find a WorkManager with name CustomWM . Dispatch policy CustomWM will map to the default WorkManager for the application appsdirCustom_ear> .
So it uses the default work manager.Well, I did it again. Solved my own problem two hours after I posted it. Which, I guess, is better than not solving it.
I mistakenly thought that the <work-manager> entry in weblogic-ra.xml is a declaration. It is apparently a reference.
I declared a WorkManager of the same name in the WLS 9 console, restarted the server, and it appears that I am now using the custom work manager.
The max-threads constraint also works. -
Required Resource Adapter cookbook for 11g
How to write wsdl and the .jca binding file for a custom resource adapter in Fusion 11g? There was a resource adapter cookbook which had the details for writing wsdl for Fusion 10g (http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter%20Development%20cookbook.)
Is there anything similar in 11g?
I am trying to invoke a custom resource adapter deployed on weblogic 10.3 from BPEL.
Kindly provide info on this or direct me to the correct guide.
Thanks,
AmithHi Melvin,
I have successfully created the resource adapter and deployed the same on weblogic managed server. The problem i am having is to invoke this resource adapter from BPEL process. In Fusion 10g release i followed the cook book (link given in the previous message) to create the wsdl which also had the jca bindings for outbound and inbound transaction. In 11g i find that the jca bindings has to be put in a separate .jca file and there is no documentation given on how to create the .jca file for resource adapters.
Any information on this will be really helpfull.
Thanks,
Amith -
SSO in resource adapter : Subject=NULL
Error while trying to use SingleSignOn in resource adapter deployed in WebLogic server 8.1
Hi,
To support SSO in Resource Adaptor all steps were produced as described in WebLogic site:
http://e-docs.bea.com/wls/docs81/secmanage/credential_maps.html#1100282
I've created a user in default security realm mapped to some credentials, after deploying of Resource Adaptor I'm trying to send username/password from third party app to deployed adapter throw WebLogic and ManagedConnectionFactoryImpl::createManagedConnection called but with Subject=NULL, is there need some additional steps to configure credentials mapping beside described on BEA site ?Hi Udo,
I hope Post configuration is completed.
Have you imported the BASIS component. If not import the BASIS component which is specified in the installation guide.
hope it will solve your problem
Regards,
Ramesh P -
Resource Adapter for Xellerate
Hi,
I want to connect two Linux target system using ssh.
I have import the connector for ssh.
How could I do to implement two different roles with the privileges?
The first role is able to provision a user on the first linux and the second role on the second linux.
In fact when I go to define a new role I am not able to select only one system (but a kind of group).
thanks in advanceHi Tom,
Being newbie to JCA and JMS, it took some time for me to understand the technical details of the application I'm working on and some more time to comprehend your previous reply in the context. Hence the delay in my reply :)
As I have indicated in my original post, we are currently using jenks JCA container as a message listener container + generic JMS resource adapter (com.sun.genericra.GenericJMSRA), which works perfectly with Tibco JMS.
But, as you have indicated in your last reply that the same will not work with weblogic as the application is deployed outside weblogic server (Tomcat server in this context) and tries to use non-supported "connectionConsumer on remote JVM".
Now, spring supports JCA based messaging endpoint abstraction which can be used to connect to any JEE server using appropriate (mostly provider specific) resource adapter.
The messages then get processed by the message listeners in the JEE server hosted listener container. So as per my understanding, the concept is very similar to how MDBs act as messaging endpoint. So, I believe, weblogic also provides such JCA resource adapter.
The resource adapter section of weblogic documentation explains (link below) how to develop one. But, I believe, there must be ready made ones as the requirement is quite generic.
http://download.oracle.com/docs/cd/E14571_01/web.1111/e13732/toc.htm
So, here are my questions -
1> How can I get a JCA resource adapter compatible with weblogic?
2> If we have an answer to Q1, do you think that it can work with the current deployment scenario mentioned below? -
a. Resource Adapter deployed on weblogic
b. The application (WAR) deployed on Tomcat on a remote machine
c. The application looks up the resource adapter over JNDI from weblogic server
Moreover, I appreciate your suggestion of using MDBs. But, that's quite significant change for the entire platform and is not feasible option given our business scenario.
Thanks in advance.
-Tamal -
Deploying J2E CA 1.0 Resource Adapter on 11g
I am currently only supplying an ra.xml file since I have not been able to get the same RAR file that worked with WLS 8 to install correctly on 11g with my weblogic-ra.xml. I receive the following error even though I do not supply a weblogic-ra.xml file as the error message states. Are 1.0 resource adapters supported? I have included a copy of the ra.xml at the bottom of message.
Any ideas?
Eric
<Nov 24, 2010 2:37:04 PM MST> <Error> <Deployer> <BEA-149265> <Failure occurred
in the execution of deployment request with ID '1290634624475' for task '0'. Err
or is: 'weblogic.application.ModuleException: A <jndi-name> is specified for the
resource adapter bean in weblogic-ra.xml, however no <resourceadapter-class> el
ement is specified in ra.xml'
weblogic.application.ModuleException: A <jndi-name> is specified for the resourc
e adapter bean in weblogic-ra.xml, however no <resourceadapter-class> element is
specified in ra.xml
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.jav
a:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:149)
Truncated. see log file for complete stacktrace
>
<Nov 24, 2010 2:37:04 PM MST> <Warning> <Deployer> <BEA-149004> <Failures were d
etected while initiating deploy task for application 'BullHooXG8Line'.>
<Nov 24, 2010 2:37:04 PM MST> <Warning> <Deployer> <BEA-149078> <Stack trace for
message 149004
weblogic.application.ModuleException: A <jndi-name> is specified for the resourc
e adapter bean in weblogic-ra.xml, however no <resourceadapter-class> element is
specified in ra.xml
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.jav
a:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:149)
Truncated. see log file for complete stacktrace
>
<Nov 24, 2010 2:37:04 PM MST> <Error> <Console> <BEA-240003> <Console encountere
d the following error weblogic.application.ModuleException: A <jndi-name> is spe
cified for the resource adapter bean in weblogic-ra.xml, however no <resourceada
pter-class> element is specified in ra.xml
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.jav
a:229)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:149)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.ja
va:1221)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:41)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.j
ava:367)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleMo
duleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.prepare(Deployme
ntStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(App
ContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.cr
eateAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
Prepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.pr
epare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
entPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploy
mentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare
(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.pre
pare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE connector PUBLIC '-//Sun Microsystems, Inc.//DTD Connector 1.0//EN' 'http://java.sun.com/dtd/connector_1_0.d
td'>
<connector>
<display-name>HooXG8 Line NoTxn Adapter</display-name>
<vendor-name>Bull</vendor-name>
<spec-version>1.0</spec-version>
<eis-type>GCOS</eis-type>
<version>2.1</version>
<resourceadapter>
<managedconnectionfactory-class>com.bull.HooX.GcosManagedConnectionFactoryImpl</managedconnectionfactory-class
>
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
<connectionfactory-impl-class>com.bull.HooX.GcosConnectionFactory</connectionfactory-impl-class>
<connection-interface>javax.resource.cci.Connection</connection-interface>
<connection-impl-class>com.bull.HooX.GcosConnectionImpl</connection-impl-class>
<transaction-support>NoTransaction</transaction-support>
<config-property>
<description>IP name or address</description>
<config-property-name>ipAddress</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<config-property>
<description>DSA node name</description>
<config-property-name>dsaNode</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<config-property>
<description>Mailbox name</description>
<config-property-name>mailbox</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value></config-property-value>
</config-property>
<config-property>
<description>Protocol to use(EGATE, LINE, NONE)</description>
<config-property-name>protocol</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>LINE</config-property-value>
</config-property>There should be a weblogic-ra.xml file in your deployment plan somewhere. The structure of the deployment plan is as follows:
somewhere/Plan.xml
somewhere/plan/META-INF/weblogic-ra.xml
The resource adapter does not support you specifying a <jndi-name> for the resource adapter. You can however specify <jndi-name> for the connection instances you create after deploying the adapter. If you have a <jndi-name> for the recource adapter, simply delete it from weblogic-ra.xml (also delete empty element such as <jndi-name></jndi-name> or <jndi-name /> ). Then update the adapter from the Deployments page in Admin console.
Here is my weblogic-ra.xml file:
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-connector xmlns="http://xmlns.oracle.com/weblogic/weblogic-connector" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-connector http://xmlns.oracle.com/weblogic/weblogic-connector/1.0/weblogic-connector.xsd">
<native-libdir>C:\dev\wls_domains\domain1\lib</native-libdir>
<enable-access-outside-app>false</enable-access-outside-app>
<enable-global-access-to-classes>true</enable-global-access-to-classes>
<security></security>
<outbound-resource-adapter>
<default-connection-properties>
<pool-params></pool-params>
<logging></logging>
</default-connection-properties>
<connection-definition-group>
<connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
<default-connection-properties>
<pool-params></pool-params>
<logging>
<logging-enabled>false</logging-enabled>
<rotation-type>bySize</rotation-type>
<number-of-files-limited>false</number-of-files-limited>
<file-count>7</file-count>
<file-size-limit>500</file-size-limit>
<rotate-log-on-startup>true</rotate-log-on-startup>
<log-file-rotation-dir></log-file-rotation-dir>
<rotation-time>00:00</rotation-time>
<file-time-span>24</file-time-span>
</logging>
</default-connection-properties>
<connection-instance>
<jndi-name>hoox</jndi-name>
<connection-properties>
<pool-params></pool-params>
<logging>
<log-filename>C:\dev\wls_domains\domain1\servers\AdminServer\logs\hoox.log</log-filename>
<logging-enabled>true</logging-enabled>
<rotation-type>bySize</rotation-type>
<number-of-files-limited>true</number-of-files-limited>
<file-count>7</file-count>
<file-size-limit>10000</file-size-limit>
<rotate-log-on-startup>false</rotate-log-on-startup>
<log-file-rotation-dir>C:\dev\wls_domains\domain1\servers\AdminServer\logs</log-file-rotation-dir>
<rotation-time>00:00</rotation-time>
<file-time-span>24</file-time-span>
</logging>
<properties>
<property>
<name>mailbox</name>
<value>XXXXXXXXXXXXXX</value>
</property>
<property>
<name>dsaNode</name>
<value>XXXXXXXXXXXXX</value>
</property>
<property>
<name>ipAddress</name>
<value>XXXXXXXXXXXXXXX</value>
</property>
<property>
<name>options</name>
<value>-TL FULL -MCMDSIZE 5</value>
</property>
<property>
<name>protocol</name>
<value>EGATE</value>
</property>
<property>
<name>serviceMapPath</name>
<value>C:\dev\wls_domains\domain1\lib\vdirmap.xml</value>
</property>
</properties>
</connection-properties>
</connection-instance>
</connection-definition-group>
</outbound-resource-adapter>
</weblogic-connector> -
Multiple EARs packaging the same resource adapter -- Weblogic Application S
Hello,
I had a question regarding JNDI and deploying multiple applications (EAR's) which package the same resource adapter running on Webloigc Application Server 9.1. I have an EAR file, ear1, which contains a resource adapter with connection factory with JNDI name say 'xyz' specified in the weblogic-ra.xml file. I have another EAR file, ear2, which again packages the same resource adapter with the same connection factory with JNDI name 'xyz'. Upon activating the 2nd EAR file, I get an exception 'javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.', as seen below:
<May 8, 2006 10:29:27 AM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating distribute task for application 'JMS2JMS_eInsightweblogic2'.>
<May 8, 2006 10:29:27 AM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: java.lang.AssertionError: Internal Error occurred, Assertion Failed: No Initial Context for Jndi: javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.
at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:217)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:90)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:318)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:53)
Truncated. see log file for complete stacktrace
javax.naming.NoPermissionException: A Resource Adapter may only be accessed from within the same application from which it was deployed.
at weblogic.connector.outbound.RAOutboundManager.getConnectionFactory(RAOutboundManager.java:721)
at weblogic.connector.deploy.JNDIHandler.getConnectionFactory(JNDIHandler.java:1017)
at weblogic.connector.deploy.JNDIHandler.lookupObject(JNDIHandler.java:871)
at weblogic.connector.deploy.JNDIHandler.getObjectInstance(JNDIHandler.java:845)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
Truncated. see log file for complete stacktrace
It seems like the 2nd EAR is trying to go across and lookup the connection factory from the 1st EAR. Does weblogic bind the RA's connection factory jndi name in the global jndi and is not specific to each EAR? Is there some flag or switch I can turn on to make the JNDI specific to each EAR?
My weblogic deployment descriptor for the ra looks like the following:
<weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
http://www.bea.com/ns/weblogic/90/weblogic-ra.xsd">
<jndi-name>JMS2JMS_eInsightDeployment4_stcbpelra</jndi-name>
<enable-access-outside-app>false</enable-access-outside-app>
<enable-global-access-to-classes>false</enable-global-access-to-classes>
<outbound-resource-adapter>
<connection-definition-group>
<connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
<connection-instance>
<b><jndi-name>BPELConnectionFactory</jndi-name></b>
<connection-properties>
<pool-params>
<initial-capacity>0</initial-capacity>
<max-capacity>10000</max-capacity>
<capacity-increment>1</capacity-increment>
<shrinking-enabled>true</shrinking-enabled>
<shrink-frequency-seconds>60</shrink-frequency-seconds>
<match-connections-supported>false</match-connections-supported>
</pool-params>
<properties>
<property>
<name>BPELConnectionFactory</name>
<value>BPELConnectionFactory</value>
</property>
</properties>
</connection-properties>
</connection-instance>
</connection-definition-group>
</outbound-resource-adapter>
</weblogic-connector>Thanks for the reply... in my case this would be done by the active synch process so no GUI form is required. I will be getting a list of application ID for the user by LDAP AS. One i get it i will have to parse it and get the list of application user id. I am passing those ID;s to a workflow where I am forming the resource name as you mentioned
for example:
If i get user1#user2#user3 from AS i am separating them based on # using split and getting 3 different user id;s
now i am forming a string with the resource name and passing it to the sub process in which i am checking out the user object, setting the user attributes and checking in the new view.
user1#LDAP
user2#LDAP|1
user3#LDAP|2
Problem ; When i run this user1 is getting created in LDAP but user2 and user3 are not. There entry is getting created in IDM.
When I open the IDM object I get a yellow triangle (warning) and if I open the user object and hit save button IDM creates the user account on the LDAP.
any help for further solving this problem would be appreciated.
Regards, -
Call another WebLogic's EJBs from resource adapter?
Is it possible to call another WebLogic's EJBs from a resource adapter?
A call to the javax.naming.InitialContext(Hashtable environment) results in a
VersioningError:
weblogic.common.internal.VersioningError: Incompatible service packs in CLASSPATH:
(BEA Systems, WebLogic Server 6.1 SP4 11/08/2002 21:50:43 #221641 , 6.1.4.0)
not compatible with
(BEA Systems, WebLogic Server 6.1 SP3 06/19/2002 22:25:39 #190835 , 6.1.3.0)
at weblogic.common.internal.VersionInfo.verifyPackages(VersionInfo.java:128)
at weblogic.common.internal.VersionInfo.<init>(VersionInfo.java:60)
at weblogic.common.internal.VersionInfo.initialize(VersionInfo.java:79)
at weblogic.kernel.Kernel.initialize(Kernel.java:122)
at weblogic.kernel.Kernel.ensureInitialized(Kernel.java:101)
at weblogic.jndi.WLInitialContextFactoryDelegate.<init>(WLInitialContextFactoryDelegate.java:166)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:232)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:147)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
at javax.naming.InitialContext.init(InitialContext.java:217)
at javax.naming.InitialContext.<init>(InitialContext.java:193)
at java.lang.reflect.Constructor.newInstance(Native Method)
I'm not sure it will always be possible to match the version, although here upgrading
the SP3 to SP4 will probably be done soon.
Does anyone have experience with this?
Or better: is there any documentation on this issue?
Hi Hans,
Here is the link for Weblogic SP3 / SP4 vulnerability and comparison for
http://216.239.53.104/search?q=cache:RqqaQ3HZdwoJ:www.nipc.gov/cybernotes/2003/cyberissue2003-06.pdf+Versioning+Error+in+BEA+weblogic+6.1+SP3+and+SP4&hl=en&ie=UTF-8
Hope this will help you.
Let me know if u have any further problems.
rgds
KSK
"Hans Bausewein" <[email protected]> wrote:
>
>
>Is it possible to call another WebLogic's EJBs from a resource adapter?
>
>A call to the javax.naming.InitialContext(Hashtable environment) results
>in a
>VersioningError:
>
>weblogic.common.internal.VersioningError: Incompatible service packs
>in CLASSPATH:
>(BEA Systems, WebLogic Server 6.1 SP4 11/08/2002 21:50:43 #221641 ,
>6.1.4.0)
>not compatible with
>(BEA Systems, WebLogic Server 6.1 SP3 06/19/2002 22:25:39 #190835 , 6.1.3.0)
> at weblogic.common.internal.VersionInfo.verifyPackages(VersionInfo.java:128)
> at weblogic.common.internal.VersionInfo.<init>(VersionInfo.java:60)
> at weblogic.common.internal.VersionInfo.initialize(VersionInfo.java:79)
> at weblogic.kernel.Kernel.initialize(Kernel.java:122)
> at weblogic.kernel.Kernel.ensureInitialized(Kernel.java:101)
> at weblogic.jndi.WLInitialContextFactoryDelegate.<init>(WLInitialContextFactoryDelegate.java:166)
> at java.lang.Class.newInstance0(Native Method)
> at java.lang.Class.newInstance(Class.java:232)
> at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:147)
> at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
> at javax.naming.InitialContext.init(InitialContext.java:217)
> at javax.naming.InitialContext.<init>(InitialContext.java:193)
> at java.lang.reflect.Constructor.newInstance(Native Method)
>
>
>
>I'm not sure it will always be possible to match the version, although
>here upgrading
>the SP3 to SP4 will probably be done soon.
>
>Does anyone have experience with this?
>
>Or better: is there any documentation on this issue?
>
Maybe you are looking for
-
Hi everyone My servers are in a separate location and we are accessing our databases from my office. The developers say that they couldn't access one particular db from their machine. The errors they receive when they try to connect using some tool i
-
EZedia Plug-ins for iMovie: Vol. 1 1.2.6
Hi out there! Anyone try using this plug in? .......eZedia Plug-ins for iMovie: Vol. 1 1.2.6 If so, how did you like it and did it work well with imovie? Was it user friendly? etc. etc. Thanks, Simonne
-
When importing raw photos from Nikon D90 aperture seems to automatically adjust exposure darker. why? How can I stop this?
-
i have a page with a javscript: <ui:composition> <f:view> <h:form> <.script > function prova(){ alert('hello!'); <./script > <h:commandLink id="..." value="..." action="..." onclick="prova();" /> </h:form> </f:view> </ui:composition> it is possible t
-
Hi, in the popup window of selection hierarchies for an infoobject i see all the usefull hierarchies loaded. I need to reduce this selection list for only two hierarchy. In which way is possible ? Thank's a lot.