Incorrect OSB JCA transaction spanning
Hi!
I have set up a service in OSB which polls database using a dbAdapter, does some processing of the data read and then inserts data in database using a different dbAdapter.
The service is composed as follows. First I built a proxy service from JCA adapter which polls an XML registry from database. This proxy makes a service callout to another proxy which performs some transformations and finally routes to a JCA dbAdapter business service which writes to database.
I need full process to be transactional, so If any error occurs at any step, register should not be marked as read in polled database and no data should be written to database. I have configured polling proxy as transactional and invoked proxy which performs writting to database as transactional too. I've tested that when a writting error occurs, polled data is not marked as read, which is expected behaviour. But if I rise an error in polling proxy after service callout is effectuated, then register is not marked as read but data is written to database in called proxy.
Could anyone tell me how to configure transaction behaviour in proposed scenary?
Thank you in advance.
After some research I saw following section in http://download.oracle.com/docs/html/E15867_01/proxy_services.htm#i1316487
"If the message flow run time starts a transaction, quality of service is exactly-once. However, if Service Callouts or Publish actions have the outbound quality of service parameter set to best-effort (the default), Oracle Service Bus executes those actions outside of the transaction context. To have Oracle Service Bus execute those actions in the same request transaction context, set quality of service on those actions to exactly-once."
It seems default qualify of service for Service Callouts is best effort so services called are executed in a different transaction than the caller. That's pretty clear then.
But after replacing the qualify of service the process stopped working when activating the polling.
When I started testing the process I noticed that after polling I got more registers in target table than the total number of polled registers in source table, indicating that some of the source registers where been processed multiple times. As polled registers count must be equal to written registers count, I assumed the difference could be caused because an error occurred after commiting transaction in proxy 2 which performs the write operation. That's why I need full process to be executed in same transaction context.
Thanks.
Similar Messages
-
Osb jca adapter weird behaviour
Hi gurus,
Im running OSB 11.1.1.5 having a db adapter polling an MSSQL2000 table (SELECT WITH (UPDLOCK, NOWAIT)..)
The table is being filled by a long running transaction.
I observe in the JCA logging the following error on every polling iteration while the table is being filled:
<Jan 10, 2012 2:00:45 PM CET> <Error> <JCA_FRAMEWORK_AND_ADAPTER> <BEA-000000> <<oracle.tip.adapter.db.InboundWork handleException> Encountered a fatal exception while polling. Will continue polling but with minimal logging. Please investigate the fault and manually stop polling from the console if in development and this appears to be a modeling mistake. BINDING.JCA-11624
DBActivationSpec Polling Exception.
Query name: [O_Boeking_I_PollerSelect], Descriptor name: [O_Boeking_I_Poller.OBoeking]. Polling the database for events failed on this iteration.
Caused by java.sql.SQLException: [FMWGEN][SQLServer JDBC Driver][SQLServer]Lock request time out period exceeded..
This exception is considered not retriable, likely due to a modelling mistake. To classify it as retriable instead add property nonRetriableErrorCodes with value "-1222" to your deployment descriptor (i.e. weblogic-ra.xml). This polling process will shut down, unless the fault is related to processing a particular row, in which case polling will continue but the row will be rejected (faulted).
The issue I'm experiencing occurs after the long running transaction is done. What I see is that in the next polling sweep 2 XML documents are delivered by the db adapter engine...I cannot figure out why. I do not want this
1 document contains only 1 record. The other document contains the rest of my records.
Have tried both WebLogic and MS JDBC drivers.
Some of mine properties:
MaxRaiseSize = 0 (I want all the records in 1 XML document)
MaxTransactionSize = unlimited
Thanks alotVeejay,
Have done so...I tried some different setting like test-connections-on-reserve (was off)...no successes here.
I will give a try with another mssql driver version.
Another interesting thing I have observed is when I do not commit the long running transaction, the next db adapter polling event results in this exception:
<Jan 17, 2012 12:24:10 PM CET> <Error> <JCA_FRAMEWORK_AND_ADAPTER> <BEA-000000> <<oracle.tip.adapter.db.InboundWork handleException>
Encountered a fatal exception while polling. Will continue polling but with minimal logging. Please investigate the fault and manually stop polling from the console if in development and this appears to be a modeling mistake. BINDING.JCA-11624 DBActivationSpec Polling Exception.
Query name: [O_Boeking_I_PollerSelect], Descriptor name: [O_Boeking_I_Poller.OBoeking]. Polling the database for events failed on this iteration.
Caused by java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0.
This exception is considered not retriable, likely due to a modelling mistake. This polling process will shut down, unless the fault is related to processing a particular row, in which case polling will continue but the row will be rejected (faulted).
at oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:682)
at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:648)
at oracle.tip.adapter.db.exceptions.DBResourceException.inboundReadException(DBResourceException.java:483)
at oracle.tip.adapter.db.InboundWork.handleException(InboundWork.java:922)
at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:826)
at oracle.tip.adapter.db.InboundWork.run(InboundWork.java:578)
at oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
at weblogic.work.ContextWrap.run(ContextWrap.java:41)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.get(Vector.java:694)
at oracle.tip.adapter.db.InboundWork.vectorSubList(InboundWork.java:1860)
at oracle.tip.adapter.db.InboundWork.runOnce(InboundWork.java:713)
... 6 more
>
This lets me think it could be a bug.. -
I'm trying to setup a proxy service to dequeue a message from JMS and submit to a business service. If the business service fails, I want the jsm message to remain in the queue/"rollback". I setup a queue CF with "XA Connection Factory Enabled", and I have a proxy service dequeueing from a queue through that connection factory. In the proxy service I have the "Is XA Reuired" box checked on the "JMS Transport" tab, and in the message flow, I have a route node with an exception handler that is calling the business service that I have setup to fail on purpose. The exception handler has a Reply "with failure" action.
OSB-PS -> JMS -> OSB-PS -> OSB-BS -> Failing Service
I want this to roll back to the JMS queue.
Did I miss anything in setting up the XA support for this process? When I invoke the proxy service, it errors off, but the message doesn't get rolled back to the original queue.
Does anyone have an example or docs on how to set this up?
Thanks for any help.Hi All,
I have checked the Retry with Application Errors, but no change.
Also have a Routing Option set to "Exaclty Once".
There is also a Route error handler where I raise an error and Reply with Failure.
The JMS Connection Factory used is XA enabled and so is the JMS Proxy service.
The strange thing I observe is when the endpoint server is down, teh transaction gets rolled back and remains in the queue.
However, when the server is up but the path of the URI given is either incorrect(404 HTTP Response) or there is an internal server error(500 HTTP response),
the message is picked up from the queue and is lost.
What I am supposing the reason would be, the proxy is able to make connection to the http uri but there is an error from the business service, while in the first case, the server is not up and hence the connection itself is failing and the transaction is getting rolled back at the request pipeline level itself.
I compared the logs when server is down and when the path is not found-> the difference I found was
1. Server is down: Fault occurs in the flow of the Request flow of the Route node
2. Server is up but path not found or internal error: Fault is thrown in the response action after getting the HTTP response.
I have even tried Raise Error and Reply with failure at the Service Error Handler level as well, but the message is lost :(
Could anyone please help me out on this? Is there any workaround for the same? -
How best to make a transaction span multiple HTTP requests?
Hi, all. What is the best way to implement a transaction that spans multiple
HTTP requests? Many J2EE applications must solve this problem, but I can't
any guidelines for an implementation.
Consider an application that implements a multi-step wizard. Each step
gathers data from the user; step one gets the user's name, and step two gets
his dog's name. When the user completes the wizard, the application saves
the user & dog in two entity beans. Conceptually, the application treats
this wizard like a single, long-running transaction. The transaction begins
when the user launches the wizard. Submitting the JSP for step one adds the
Boy bean to the transaction, and submitting step two adds the Dog bean.
Finishing the wizard commits the transaction. Exiting the wizard or timing
out causes the transaction to rollback.
Although the wizard looks like a transaction, the entire sequence of user
interactions can't be captured in a single JTA UserTransaction. A
UserTransaction must be associated with a single thread, but each wizard
step is handled asynchronously by its own execution thread. It's impossible
to funnel the conversation through one thread that can demarcate the
transaction. (This would be a pretty dumb solution for other reasons, but I
don't want to get lost in details.)
I think the standard way to solve this problem is to store conversation
state in a stateful session bean (or the http session) and create / update
both entity beans in a transactional EJB method after the wizard completes.
Unfortunately, this solution prevents me from leveraging a lot of great
transaction management features provided by the app server. For example, I
can't use optimistic concurrency to make sure that the dog object hasn't
changed in the database between the start and end of the wizard. Also, I'm
forced to keep track of changes to the dog object in the conversation state,
then replicate these changes to an entity bean at the end of the wizard.
Keeping track of state in a stateful bean is pretty straightforward, but it
seems like there must be an existing solution that leverages the appserver's
concurrency and state management features. Am I missing something? Is there
code, a pattern, or an article that describes the best way to implement a
multi-step process that looks transactional? I suppose WLI does what I want,
but that feels like killing a roach with a SCUD missle. Thanks for any
advice.
DaveDave Smith wrote:
Without a transaction, will the app server manage the version column
automatically, assuming of course that <concurrency-strategy> is
"Optimistic" and <verify-columns> is set to "Version"? Of course, I'll have
to expose the version as a cmp-field, which is fine with me.Yes
>
Do you know offhand, so that I don't have to get off my lazy ass and write a
test, whether the CMP service will create the version column when it
generates db tables? (I realize it's not good to let WLS generate the tables
in a production system.)No, I don't think it does.
>
I assume from your answer that I'm on my own for implementing stuff like and
transaction inheritance and tracking object modifications? Well, we'll give you a bit of help on the object modifications. The
usual pattern is when you're pushing the JavaBean back to the CMP you
call all the setXXX methods on the CMP bean. Our CMP container will
check if the value you are setting is the same as read from the db. If
so, it will not update that column.
-- Rob
If so, no big
deal. I was just hoping somebody would say, "Oh, you want the Jakarta
SuperBeans project" or something.
Thanks,
Dave
"Rob Woollen" <[email protected]> wrote in message
news:[email protected]...
I'd recommend that you include a separate version or timestamp column in
your db schema.
Then do something like this:
Client Server
1) First HTTP Request
2) Read current Dog and Boy Entity Beans
(if any) and copy their values into a JavaBean.
You want to include the version
column(s) in the JavaBean(s) along with the data values.
You probably also want to store the JavaBeans in
your HTTP Session.
3) Client proceeds through wizard interacting with JavaBeans
4) Finish with Wizard, copy JavaBean values (including
version columns) to CMP 2.0 Entity Beans.
The version column will give you the optimistic concurrency protection
that you desire without opening a JTA transaction to span user input.
-- Rob
Dave Smith wrote:
Hi, all. What is the best way to implement a transaction that spans
multiple
HTTP requests? Many J2EE applications must solve this problem, but Ican't
any guidelines for an implementation.
Consider an application that implements a multi-step wizard. Each step
gathers data from the user; step one gets the user's name, and step twogets
his dog's name. When the user completes the wizard, the applicationsaves
the user & dog in two entity beans. Conceptually, the application treats
this wizard like a single, long-running transaction. The transactionbegins
when the user launches the wizard. Submitting the JSP for step one addsthe
Boy bean to the transaction, and submitting step two adds the Dog bean.
Finishing the wizard commits the transaction. Exiting the wizard ortiming
out causes the transaction to rollback.
Although the wizard looks like a transaction, the entire sequence ofuser
interactions can't be captured in a single JTA UserTransaction. A
UserTransaction must be associated with a single thread, but each wizard
step is handled asynchronously by its own execution thread. It'simpossible
to funnel the conversation through one thread that can demarcate the
transaction. (This would be a pretty dumb solution for other reasons,but I
don't want to get lost in details.)
I think the standard way to solve this problem is to store conversation
state in a stateful session bean (or the http session) and create /update
both entity beans in a transactional EJB method after the wizardcompletes.
Unfortunately, this solution prevents me from leveraging a lot of great
transaction management features provided by the app server. For example,I
can't use optimistic concurrency to make sure that the dog object hasn't
changed in the database between the start and end of the wizard. Also,I'm
forced to keep track of changes to the dog object in the conversationstate,
then replicate these changes to an entity bean at the end of the wizard.
Keeping track of state in a stateful bean is pretty straightforward, butit
seems like there must be an existing solution that leverages theappserver's
concurrency and state management features. Am I missing something? Isthere
code, a pattern, or an article that describes the best way to implementa
multi-step process that looks transactional? I suppose WLI does what Iwant,
but that feels like killing a roach with a SCUD missle. Thanks for any
advice.
Dave -
Hi,
I have a problem with transaction handling in OSB 11g. When I add a report action, error messages disappear.
The process is the following:
jms-queue -> proxy-service ->business-service ->EBS webservice.
In the proxy-service I add an error-handler at node-level. In this error-handler I log the error-message in the server log. In the regular process there is a request and response-pipeline.
When I add a message on the queue and when the response from EBS is negative, the message is placed on a errorqueue. That's ok.
When I add a report-action to the error-handler and then I put another message on the queue, the message is disappeared. It is not on the error-queue and not on the normal queue. When I look in the database there is an extra row added.
I use the default datasource(wlsbjmsrpDataSource).
I found for example this blog: http://biemond.blogspot.nl/2010/11/global-transactions-and-quality-of.html ; but I can't find an example with writing to a database and a rollback to an errorqueue. The report-action needs it's own transaction.
In the weblogic console -> datasources -> transaction I unchecked "Keep Connection After Local Transaction" but that didn't work.
What kind of options is possible?
HermanI cant believe i was answered by the famous Anuj!.
You were correct. The weird thing, is that in publish actions the QoS is not propagated onto the target of that Publish per se.
We say this, becouse the Local PS has the Transaction Required = True, ergo the QoS is Exactly Once all along its message flow. It also propagates in the service callout´s and Route Node´s. Thats why we, trying to avoid redundance, didnt specified it in the publish action.
Thank you very much.
Regards.
Mario. -
Transaction span two WLS managed servers (non-clustering)
(Weblogic 6.1 - non-clustering version)
I have two managed servers configured on a single machine on different
ports, and I am not using clustering weblogic. Assuming I have EJB A
deployed on managed server 1, and EJB B deployed on managed server 2.
I want to have EJB A to invoke EJB B. In EJB A, I guess I will
probably create the InitialContext with the URL of managed server 2,
then do the JNDI look up and call EJB B.
My questions are:
- Can weblogic handle transaction that spans two managed servers
(non-clustering setting)?
- Does weblogic use XA to handle transaction between managed servers?
- Do I need to do any JTA code in order to achieve that (instead of
just letting the EJB container to handle the transaction for me)?
Thanks in advance!
B.L.Hi,
"benson" <[email protected]> wrote in message
news:[email protected]..
(Weblogic 6.1 - non-clustering version)
I have two managed servers configured on a single machine on different
ports, and I am not using clustering weblogic. Assuming I have EJB A
deployed on managed server 1, and EJB B deployed on managed server 2.
I want to have EJB A to invoke EJB B. In EJB A, I guess I will
probably create the InitialContext with the URL of managed server 2,
then do the JNDI look up and call EJB B.
My questions are:
- Can weblogic handle transaction that spans two managed servers
(non-clustering setting)?Yes, it can.
- Does weblogic use XA to handle transaction between managed servers?Yes, it does. Make sure you use TX DataSources. If the servers are connected
to different databases, TX DataSources should be based on connection pools
used XA drivers.
- Do I need to do any JTA code in order to achieve that (instead of
just letting the EJB container to handle the transaction for me)?No, you don't. WebLogic will take care about handling
distributed TXs.
Regards,
Slava Imeshev -
OSB JCA Adapter performance issue
Hi,
We have to use OSB as an ESB at integration level which need to populate the result from local services e.g. from DB as well as from external services. Actually we need to use switch [split -join] and connector [individual proxy for individual services] features.
As for external services, we do not have questions but to access data from local system e.g. Database, whether it will be a performance issue in OSB, in case if we are using JCA Adapter and exposing it as a service? Because some one objected that accessing JCA layer in OSB will be a performance issue.
If some one can shed the light on it, it will be great.
Thanks & Regards,
V DHi,
Have a look at the Developer Guide for OSB... Oracle JCA Adapter for Database is supported... Have a look at the limitations, there's nothing mentioning performance...
http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/jca.htm#i1110405
Also have a look at the following blogs... One of them even suggests that jca performs better than xquery with fn-bea:execute-sql...
http://victor-jan.blogspot.com.au/2012/06/osb-fn-beaexecute-sql-vs-jca-dbadapter.html
http://reallifeserviceorientedarchitecture.blogspot.com.au/2011/09/oracle-service-bus-osb-and-jca-adapters.html
If you are still in doubt open a SR with Oracle Support...
Hope this helps...
Cheers,
Vlad -
OSB JCA Adapter - Enqueue - BLOB Oracle data type
Hi,
I am tring to enqueue a message into oracle advacned queue using JCA AQ adapter of OSB. The message in the Q has BLOB data type.
I used AQ Adapter enqueue operation for this, and an opaqueue schema in the adapter wsdl. I created a business service out of the adapter service and tested it using
OSB. I am able to enqueue, but then if i go and see in the data base payload the value of the BLOB column is JUNK... some funky values..
Any help on this. Appreciate your suggestions.This has been resolved
-
Kodo JDO 3.0.0RC4 JCA transaction commit
I am seeing a ton of warning messages logged from BEA WLS 7.0 of the
following form.
####<Nov 5, 2003 7:52:47 PM EST> <Warning> <JTA> <BENX30> <myserver>
<ExecuteThread: '11' for queue: 'default'> <kernel identity> <> <110401>
<Ignoring error in afterCompletion.
Object=kodo.runtime.PersistenceManagerImpl@747e01,
Exception=kodo.util.FatalDataStoreException: Cannot call Connection.commit
in distributed transaction. Transaction Manager will commit the resource
manager when the distributed transaction is committed.
NestedThrowables:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager when the
distributed transaction is committed.>
kodo.util.FatalDataStoreException: Cannot call Connection.commit in
distributed transaction. Transaction Manager will commit the resource
manager when the distributed transaction is committed.
NestedThrowables:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager when the
distributed transaction is committed.
at kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:42)
at kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:24)
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:125)
at
kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:94)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:798)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:667)
at
weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo
..java:448)
at
weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(Ser
verTransactionImpl.java:2240)
at
weblogic.transaction.internal.ServerTransactionImpl.setCommitted(ServerTrans
actionImpl.java:2204)
at
weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(Server
TransactionImpl.java:2060)
at
weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTrans
actionImpl.java:2005)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:242)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl.getInventoryEn
tityByKey(InventorySessionBean_xf0gis_EOImpl.java:1509)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl_WLSkel.invoke(
Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:821)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
0)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
NestedThrowablesStackTrace:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager when the
distributed transaction is committed.
at weblogic.jdbc.jts.Connection.commit(Connection.java:302)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.commit(ConnectionImpl.java:181)
at weblogic.jdbc.rmi.SerialConnection.commit(SerialConnection.java:179)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at
com.solarmetric.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.co
mmit(ConfiguringConnectionDecorator.java:127)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at
com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection.commit(Log
gingConnectionDecorator.java:162)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:120)
at
kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:94)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:798)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:667)
at
weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo
..java:448)
at
weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(Ser
verTransactionImpl.java:2240)
at
weblogic.transaction.internal.ServerTransactionImpl.setCommitted(ServerTrans
actionImpl.java:2204)
at
weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(Server
TransactionImpl.java:2060)
at
weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTrans
actionImpl.java:2005)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:242)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl.getInventoryEn
tityByKey(InventorySessionBean_xf0gis_EOImpl.java:1509)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl_WLSkel.invoke(
Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:821)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
0)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
The same behavior is exhibited for both
<transaction-support>XATransaction</transaction-support> and
<transaction-support>LocalTransaction</transaction-support>.
The stateless session bean methods are all CMT
<trans-attribute>Required</trans-attribute>.
Database: mysql 4.0.16 with JDBC driver 3.0.9 and InnoDB tables.
The resource adapter is using a TxDataSource (and a non-XA DataSource)
managed by WLS to obtain JDBC connections.
Aside from the nasty warning messages, things seem to behave as expected.
BenRobin,
A-ha. You are absolutely correct. Thanks.
Ben
"Robin Roos" <[email protected]> wrote in message
news:[email protected]...
Hi Ben
Perhaps you could try setting the DataSourceMode to enlisted with the
following additional entry in kodo.properties:
kodo.jdbc.DataSourceMode: enlisted
It sounds like Kodo is not detecting that the connection is managed, so
Kodo is demarcating transactions directly on the connection (which is
illegal in a managed environment).
Kind regards, Robin.
Ben Eng wrote:
I am seeing a ton of warning messages logged from BEA WLS 7.0 of the
following form.
####<Nov 5, 2003 7:52:47 PM EST> <Warning> <JTA> <BENX30> <myserver>
<ExecuteThread: '11' for queue: 'default'> <kernel identity> <> <110401>
<Ignoring error in afterCompletion.
Object=kodo.runtime.PersistenceManagerImpl@747e01,
Exception=kodo.util.FatalDataStoreException: Cannot call
Connection.commit
in distributed transaction. Transaction Manager will commit theresource
manager when the distributed transaction is committed.
NestedThrowables:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager whenthe
distributed transaction is committed.>
kodo.util.FatalDataStoreException: Cannot call Connection.commit in
distributed transaction. Transaction Manager will commit the resource
manager when the distributed transaction is committed.
NestedThrowables:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager whenthe
distributed transaction is committed.
at kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:42)
at kodo.jdbc.sql.SQLExceptions.getFatalDataStore(SQLExceptions.java:24)
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:125)
at
kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:94)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:798)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:667)
at
weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo
..java:448)
at
weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(Ser
verTransactionImpl.java:2240)
at
weblogic.transaction.internal.ServerTransactionImpl.setCommitted(ServerTrans
actionImpl.java:2204)
at
weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(Server
TransactionImpl.java:2060)
at
weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTrans
actionImpl.java:2005)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:242)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
atweblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl.getInventoryEn
tityByKey(InventorySessionBean_xf0gis_EOImpl.java:1509)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl_WLSkel.invoke(
Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:821)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
0)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
NestedThrowablesStackTrace:
java.sql.SQLException: Cannot call Connection.commit in distributed
transaction. Transaction Manager will commit the resource manager whenthe
distributed transaction is committed.
at weblogic.jdbc.jts.Connection.commit(Connection.java:302)
at
weblogic.jdbc.rmi.internal.ConnectionImpl.commit(ConnectionImpl.java:181)
at weblogic.jdbc.rmi.SerialConnection.commit(SerialConnection.java:179)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at
com.solarmetric.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.co
mmit(ConfiguringConnectionDecorator.java:127)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at
com.solarmetric.jdbc.LoggingConnectionDecorator$LoggingConnection.commit(Log
gingConnectionDecorator.java:162)
at
com.solarmetric.jdbc.DelegatingConnection.commit(DelegatingConnection.java:1
84)
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:120)
at
kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:94)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:798)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:667)
at
weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo
..java:448)
at
weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(Ser
verTransactionImpl.java:2240)
at
weblogic.transaction.internal.ServerTransactionImpl.setCommitted(ServerTrans
actionImpl.java:2204)
at
weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(Server
TransactionImpl.java:2060)
at
weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTrans
actionImpl.java:2005)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:242)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:208)
atweblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:278)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl.getInventoryEn
tityByKey(InventorySessionBean_xf0gis_EOImpl.java:1509)
at
com.metasolv.oss.inventory.InventorySessionBean_xf0gis_EOImpl_WLSkel.invoke(
Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:362)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:313)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:821)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:308)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
0)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
The same behavior is exhibited for both
<transaction-support>XATransaction</transaction-support> and
<transaction-support>LocalTransaction</transaction-support>.
The stateless session bean methods are all CMT
<trans-attribute>Required</trans-attribute>.
Database: mysql 4.0.16 with JDBC driver 3.0.9 and InnoDB tables.
The resource adapter is using a TxDataSource (and a non-XA DataSource)
managed by WLS to obtain JDBC connections.
Aside from the nasty warning messages, things seem to behave as
expected.
>
Ben -
Incorrect SIDs on transactional records
Hello,
We recently did a system copy of our BW production system to our BW QA system.
I then did a delta init and delta load into one of the cubes, without reloading master data first. After this, I noticed that all of our transactional data is appearing under the wrong Material (0MATERIAL).
When I look at the SID on the transactional record, it is different than the data copied over from production. All the SIDs in the /BI0/XMATERIAL table are the same as those in production. But the data is appearing under the wrong Material becuase the SID is different on the transactional records.
Does anyone know why/how this happened, and what we can do to repair it?
Thanks
CharlaHi Charla,
First of all the SID's from the two systems in infocube will be different as you have loaded a new data in the transactional cube and also it depends upon the master data objects if present in the cube it will consider there master data also when loading the cube.
Just activate the master data and it should adjust the SID's.Then run the RSRV for the cube and it will repair the SID's of the cube also.
Also if you loaded a fresh data in the master data then it will work fine but if you have copied it from production then delete it and reload it again.
Hope it helps
Thanks -
OSB JCA Merge operation for null value
I am doing a merge and when I supply the nodes the nodes I leave empty i.e. <somenode></somenode> I expect to update, if the record exists, the database to a null, but instead it does nothing and leaves the existing value.
Anybody know how to accomplish this, perhaps an attribute on the toplink file?I figured it out. You have to change the DetectOmissions="false" in the wsdl where the merge operation properties are specified.
-
Is it possible to have transactions spanning multiple datasources in ODI
Hi,
We have the following scenario, wherein we are having to extract data from system A and after several data manipulation steps load data onto System B and then flag those extracted records as "processed" in the source system.
We are facing problems as we update the flag on the source system A after committing at the target side system B.
Is their a way to be able to commit globally on both systems at the same time after the flag has been set and if "commit" fails anywhere rollback the entire interface?
Any help would be appreciated.
Thanks
ShemaNot Supported
Hi,
This is not something we currently support but you can add or vote on feature ideas:
http://forums.adobe.com/community/formscentral?view=idea
If you need to add a new idea click "Create an idea" under "Actions" in the top right.
Thanks,
-Jeff -
JCA: Sample Adapter Transaction Support
Hi guys,
Could anyone tell me the transaction level supported by Sample Adapter.In the code they are using SAPResourceAdapter to access the J2EE Thread Manager.But in the code it has given that it won't support Local Transaction or XA Resource.
So what is the Transaction level supported by Sample Adapter.
regards,
siva.You have to distinguish between 1) the Transaction level support of the J2EE Connector Architecture (JCA) and 2) the internal usage of the J2EE transaction manager.
Ad 1) the XI docu says <i>JCA resource adapters can provide all kinds of JCA transactions. The Adapter Framework does not use them</i>. That's why the sample adapter uses NoTransaction.
Ad 2): The transaction manager has to be used for asynchronous processing (QoS Exactly Once). This is used for transaction management inside the adapter. For details see the sample adapter code or the Adapter Development docu http://help.sap.com/saphelp_nw04/helpdata/en/59/59d6409ff68631e10000000a1550b0/content.htm -
Unable to activate session in OSB
Hi!
I have some problems when i try to activate session on Oracle Service Bus.
I just create session in new clear OSB, add new projest or new resource to default project and click "activate->submit" and get " [Deployer:149150]An IOException occurred while reading input. : with response code '500' : with response message 'Internal Server Error'" error.
In WebLogic domain log i got next messages:
1. Internal error occured in OSBConsole : null java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.alsb.console.support.ConsoleSideMBeanInvocationHandler.__invoke(ConsoleSideMBeanInvocationHandler.java:113) at com.bea.alsb.console.support.ConsoleSideMBeanInvocationHandler.invoke(ConsoleSideMBeanInvocationHandler.java:71) at $Proxy175.commitSession(Unknown Source) at com.bea.alsb.console.session.SessionHelper.commitSession(SessionHelper.java:43) at com.bea.alsb.console.changemgmt.ChangeHelper.activateSession(ChangeHelper.java:143) at com.bea.alsb.console.changemgmt.actions.SessionActivateAction.execute(SessionActivateAction.java:66) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044) at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.processActionPerform(SBConsoleRequestProcessor.java:91) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853) at com.bea.alsb.console.common.base.SBConsoleRequestProcessor.process(SBConsoleRequestProcessor.java:191) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:262) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:134) at com.bea.alsb.console.common.base.SBConsoleActionServlet.doGet(SBConsoleActionServlet.java:49) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129) at com.bea.portlet.adapter.scopedcontent.framework.internal.PageFlowUtilsBeehiveDelegate.strutsLookupInternal(PageFlowUtilsBeehiveDelegate.java:43) at com.bea.portlet.adapter.scopedcontent.framework.PageFlowUtils.strutsLookup(PageFlowUtils.java:108) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:707) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:141) at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(StrutsStubImpl.java:72) at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167) at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225) at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352) at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:199) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130) 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:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) Caused By: java.rmi.RemoteException: [Deployer:149150]An IOException occurred while reading input. : with response code '500' : with response message 'Internal Server Error' at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToServerURL(HTTPMessageSender.java:303) at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToTargetServer(HTTPMessageSender.java:125) at weblogic.deploy.service.internal.transport.CommonMessageSender$1.run(CommonMessageSender.java:301) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
ALSB Console BEA-494002
2. Activation of session weblogic failed: java.rmi.RemoteException: [Deployer:149150]An IOException occurred while reading input. : with response code '500' : with response message 'Internal Server Error' java.rmi.RemoteException: [Deployer:149150]An IOException occurred while reading input. : with response code '500' : with response message 'Internal Server Error' at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToServerURL(HTTPMessageSender.java:303) at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToTargetServer(HTTPMessageSender.java:125) at weblogic.deploy.service.internal.transport.CommonMessageSender$1.run(CommonMessageSender.java:301) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
ConfigFwk BEA-390101
3. Setting transaction '418' as rollback only. Rollback reason: java.lang.Exception: Deployment request has been cancelled. at com.bea.wli.config.deployment.server.ServerDeploymentReceiver$3.run(ServerDeploymentReceiver.java:315) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at com.bea.wli.config.deployment.server.ServerDeploymentReceiver.cancel(ServerDeploymentReceiver.java:300) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCancelCallback(DeploymentReceiverCallbackDeliverer.java:219) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$200(DeploymentReceiverCallbackDeliverer.java:13) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$3.run(DeploymentReceiverCallbackDeliverer.java:81) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
ConfigFwk BEA-000000
4. Deployment service servlet encountered an Exception while handling the deployment service message for request id "1 319 197 286 512" from server "AdminServer". Exception is: "java.lang.ClassNotFoundException: com.bea.wli.config.deployment.server.ServerDeployment: This error could indicate that a component was deployed on a cluster member but not other members of that cluster. Make sure that any component deployed on a server that is part of a cluster is also deployed on all other members of that cluster at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:218) at weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:85) at weblogic.common.internal.WLObjectInputStream.resolveClass(WLObjectInputStream.java:61) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at java.util.ArrayList.readObject(ArrayList.java:593) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at weblogic.common.internal.WLObjectInputStream.readArrayList(WLObjectInputStream.java:116) at weblogic.deploy.service.internal.transport.DeploymentServiceMessage.readMessage(DeploymentServiceMessage.java:322) at weblogic.deploy.service.internal.transport.DeploymentServiceMessage.readExternal(DeploymentServiceMessage.java:302) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at weblogic.deploy.service.internal.transport.http.DeploymentServiceServlet.handleDeploymentServiceMessage(DeploymentServiceServlet.java:759) at weblogic.deploy.service.internal.transport.http.DeploymentServiceServlet.internalDoPost(DeploymentServiceServlet.java:245) at weblogic.deploy.service.internal.transport.http.DeploymentServiceServlet.access$000(DeploymentServiceServlet.java:84) at weblogic.deploy.service.internal.transport.http.DeploymentServiceServlet$1.run(DeploymentServiceServlet.java:221) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.deploy.service.internal.transport.http.DeploymentServiceServlet.doPost(DeploymentServiceServlet.java:217) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:821) 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:300) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) ".
DeploymentService BEA-290064
5. Servlet execution in servlet context "ServletContext@7332542[app:bea_wls_deployment_internal module:bea_wls_deployment_internal.war path:/bea_wls_deployment_internal spec-version:null]" failed, java.net.ProtocolException: Didn't meet stated Content-Length, wrote: '508' bytes instead of stated: '504' bytes.. java.net.ProtocolException: Didn't meet stated Content-Length, wrote: '508' bytes instead of stated: '504' bytes. at weblogic.servlet.internal.ServletOutputStreamImpl.ensureContentLength(ServletOutputStreamImpl.java:446) at weblogic.servlet.internal.ServletResponseImpl.ensureContentLength(ServletResponseImpl.java:1432) at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1511) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1462) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
HTTP BEA-101104
6. Connection failure. java.net.ProtocolException: Didn't meet stated Content-Length, wrote: '508' bytes instead of stated: '504' bytes. at weblogic.servlet.internal.ServletOutputStreamImpl.ensureContentLength(ServletOutputStreamImpl.java:446) at weblogic.servlet.internal.ServletResponseImpl.ensureContentLength(ServletResponseImpl.java:1432) at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1511) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1462) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
HTTP BEA-101083
I tried to fix my problem using Re: Timeout while activating OSB session advices, but cleaning $DOMAINHOME\osb\config\sessions didn't resolve it.
Have any ideas?I'm sorry, i just get local admin privilege on the computer with WebLogic&OSB&other and i start WebLogic with this privilege. Old error don't reproduce now.
But when i activate session in OSB, window activation doesn't close and time is going infinitely.
I see this A LOT OF messages in the domain log:
Failed to invoke startup class "JRF Startup Class", java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup
Failed to invoke startup class "JPS Startup Class", java.lang.ClassNotFoundException: oracle.security.jps.wls.JpsWlsStartupClass
Failed to invoke startup class "ODL-Startup", java.lang.ClassNotFoundException: oracle.core.ojdl.weblogic.ODLConfiguration
Failed to invoke startup class "AWT Application Context Startup Class", java.lang.ClassNotFoundException: oracle.jrf.AppContextStartup
Failed to invoke startup class "JMX Framework Startup Class", java.lang.ClassNotFoundException: oracle.as.jmx.framework.wls.spi.StartupListener
Failed to invoke startup class "Web Services Startup Class", java.lang.ClassNotFoundException: oracle.j2ee.ws.server.WebServiceServerStartup
Failed to invoke startup class "JOC-Startup", java.lang.ClassNotFoundException: oracle.ias.cache.Startup java.lang.ClassNotFoundException
Failed to invoke startup class "DMS-Startup", java.lang.ClassNotFoundException: oracle.dms.wls.DMSStartup java.lang.ClassNotFoundException: oracle.dms.wls.DMSStartup
Server state changed to STANDBY
Server state changed to STARTING
No test table set up for pool "wlsbjmsrpDataSource". Connections will not be tested.
Failed to initialize the application 'DMS Application [Version=11.1.1.1.0]' due to error java.lang.NoClassDefFoundError: oracle/dms/http/Request
Failed to initialize the application 'wsm-pm' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Cluster Singleton Marker Application' due to error weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Domain Singleton Marker Application' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Framework Starter Application' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'OWSM Policy Support in OSB Initializer Aplication' due to error weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Coherence Cache Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'XBus Kernel' due to error weblogic.management.DeploymentException: Unable to load your custom module provider's module-factory-class com.bea.wli.sb.transports.http.wls.WebCreatorModuleFactory. weblogic.management.DeploymentException: Unable to load your custom module provider's module-factory-class com.bea.wli.sb.transports.http.wls.WebCreatorModuleFactory
Failed to create App/Comp mbeans for AppDeploymentMBean ALSB1319114235723. Error - weblogic.management.DeploymentException: File not found with : C:\Oracle\Middleware\user_projects\domains\base_domain\sbgen\_ALSB_1319114235723.ear. weblogic.management.DeploymentException: File not found with : C:\Oracle\Middleware\user_projects\domains\base_domain\sbgen\_ALSB_1319114235723.ear
Failed to initialize the application '_ALSB_1319114235723' due to error weblogic.management.DeploymentException: File not found with : C:\Oracle\Middleware\user_projects\domains\base_domain\sbgen\_ALSB_1319114235723.ear. weblogic.management.DeploymentException: File not found with : C:\Oracle\Middleware\user_projects\domains\base_domain\sbgen\_ALSB_1319114235723.ear
A version attribute was not found in element application in the deployment descriptor in C:\Oracle\Middleware\user_projects\domains\base_domain\sbgen\_ALSB_1319178907222.ear/META-INF/application.xml. A version attribute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server will reject descriptors that do not specify the JEE version.
A version attribute was not found in element application in the deployment descriptor in C:\Oracle\Middleware\user_projects\domains\base_domain\servers\osb_server1\tmp\_WL_user\_ALSB_1319178907222\qey1zy/META-INF/application.xml. A version attribute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server will reject descriptors that do not specify the JEE version.
Failed to initialize the application '_ALSB_1319178907222' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException:
There was a failure when processing annotations for application C:\Oracle\Middleware\Oracle_OSB1\lib\uddi_subscription\com\bea\wli\sb\uddi\auto\UDDISubscriptionListenerImpl.war. Please make sure that the annotations are valid. The error is oracle.dms.wls.DMSServletFilte
Failed to initialize the application 'ALSB Subscription Listener' due to error weblogic.application.ModuleException: Failed to load webapp: 'alsb-uddi'. weblogic.application.ModuleException: Failed to load webapp: 'alsb-uddi' at weblogic.servlet.internal.WebAppModule.prepare
Failed to initialize the application 'JMS Reporting Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'Message Reporting Purger' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(msgpurger.jar) Unable to deploy EJB: C:\Oracle\Middleware\user_projects\domains\base_domain\servers\osb_server1\tmp\_WL_user\Message Reporting Purger\ug6e90\msgpurger.jar from msgpurger.jar: [EJB:015025]Unable to load a class specified in your ejb-jar.xml: com.bea.wli.reporting.jmsprovider.runtime.PurgingMDB. . weblogic.application.ModuleException: Exception preparing module: EJBModule(msgpurger.jar) Unable to deploy EJB: C:\Oracle\Middleware\user_projects\domains\base_domain\servers\osb_server1\tmp\_WL_user\Message Reporting Purger\ug6e90\msgpurger.jar from msgpurger.jar: [EJB:015025]Unable to load a class specified in your ejb-jar.xml: com.bea.wli.reporting.jmsprovider.runtime.PurgingMDB. at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469)
Failed to initialize the application 'Ftp Transport Provider' due to error java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider. java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider
Failed to initialize the application 'Email Transport Provider' due to error java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider. java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider
Failed to initialize the application 'File Transport Provider' due to error java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider. java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider
Failed to initialize the application 'EJB Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'Tuxedo Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALDSP Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'SB Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'SFTP Transport Provider' due to error java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider. java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/TransportProvider
Failed to initialize the application 'WS Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'WS Transport Async Applcation' due to error java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/OutboundTransportMessageContext. java.lang.NoClassDefFoundError: com/bea/wli/sb/transports/OutboundTransportMessageContext
Failed to initialize the application 'MQ Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'FLOW Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'BPEL 10g Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'JCA Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'JEJB Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'SOA-DIRECT Transport Provider' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'FileAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class
Failed to initialize the application 'DbAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class
Failed to initialize the application 'JmsAdapter' due to error weblogic.application.ModuleException: [1] The ra.xml <connectionfactory-interface
Failed to initialize the application 'AqAdapter' due to error weblogic.application.ModuleException: java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException
Failed to initialize the application 'FtpAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class
Failed to initialize the application 'SocketAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class
Failed to initialize the application 'MQSeriesAdapter' due to error weblogic.application.ModuleException: The ra.xml <connectionfactory-impl-class
Failed to initialize the application 'OracleAppsAdapter' due to error weblogic.application.ModuleException: java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException
Failed to initialize the application 'OracleBamAdapter' due to error weblogic.application.ModuleException: [1] The ra.xml <connectionfactory-interface
Failed to initialize the application 'ALSB Routing' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Transform' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Publish' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Logging' due to error weblogic.management.DeploymentException: . weblogic.management.DeploymentException
Failed to initialize the application 'ALSB Test Framework' due to error weblogic.application.ModuleException: Exception preparing module: EJBModule(sbTestFwkEjb.jar) Unable to deploy EJB: C:\Oracle\Middleware\user_projects\domains\base_domain\servers\osb_server1\tmp\_WL_user\ALSB Test Framework\1lglcs\sbTestFwkEjb.jar from sbTestFwkEjb.jar: [EJB:010229]EJB : TestService .Unable to initialize method info for remote ,home , message listener or webservice endpoint interface. The error is java.lang.NoClassDefFoundError: com/bea/wli/config/Ref
Could not load user defined filter in web.xml: ServletContext@7335805[app:wsil-wls module:/inspection.wsil path:/inspection.wsil spec-version:2.5] oracle.dms.wls.DMSServletFilter. java.lang.ClassNotFoundException: oracle.dms.wls.DMSServletFilte
Unable to set the activation state to true for the application 'wsil-wls'. weblogic.application.ModuleException
Could not load user defined filter in web.xml: ServletContext@11654245[app:ALSB Resource module:sbresource.war path:/sbresource spec-version:2.5] oracle.dms.wls.DMSServletFilter. java.lang.ClassNotFoundException
Unable to set the activation state to true for the application 'ALSB Resource'. weblogic.application.ModuleException
Could not load user defined filter in web.xml: ServletContext@10754651[app:ALSB WSIL module:wsil.war path:/sbinspection.wsil spec-version:2.5] oracle.dms.wls.DMSServletFilter. java.lang.ClassNotFoundException: oracle.dms.wls.DMSServletFilter
Unable to set the activation state to true for the application 'ALSB WSIL'. weblogic.application.ModuleException:
The Server has established connection with the Domain level Diagnostic Service successfully.
Failed to invoke startup class "Audit Loader Startup Class", java.lang.ClassNotFoundException: oracle.security.audit.ajl.loader.JEEAuditLoader java.lang.ClassNotFoundException: oracle.security.audit.ajl.loader.JEEAuditLoader
Failed to invoke startup class "OSB JCA Transport Post-Activation Startup Class", java.lang.ClassNotFoundException: com.bea.wli.sb.transports.JCATransportPostActivationStartup java.lang.ClassNotFoundException: com.bea.wli.sb.transports.JCATransportPostActivationStartup
Server state changed to ADMIN
Server state changed to RESUMING
Server started in RUNNING mode
Why there are so many errors?? Is it very incorrect installation of WebLogic&OSB&..? -
How to create the OSB artifacts in JDeveloper
The docs I've seen get me a little closer in being able to test the DB and AQ Adapters on the OSB, but it really does not help me understand how to do it through JDeveloper.
In the past we have done all of the OSB development in Eclipse and then imported it into the OSB.
Again, the docs I've seen shows how to do the Adapter configuration in JDeveloper and then how to create the Business Services and Proxy Services directly in the OSB console.
But I need to know how to create the OSB artifacts in JDeveloper then import them into the OSB or if this is even possible. I know there is an optional Eclipse component that you can install with OSB. Will we have to use both tools? (e.g. Eclipse for the OSB components and then JDev for the Adapters.)
Anyone have clarification?Again, the docs I've seen shows how to do the Adapter configuration in JDeveloper and then how to create the Business Services and Proxy Services directly in the OSB console.WSDL/Binding generation is required to be done in JDEV. OEPE/Workshop doesn't have these adapter plugins to generate WSDL and Bindings. Once the WSDL/Binding are generated you can either use sbconsole or OEPE/workshop for your usual development.
But I need to know how to create the OSB artifacts in JDeveloper then import them into the OSB or if this is even possible. There are no OSB artifacts that need development in JDEV. As you are aware the oracle adapters exposes back-end functionality in XML interface. This XML interface is modeled by WSDL. For adapters to work we need the WSDL and corresponding binding. Since OSB JCA transport uses adapters, we are required to provide these components.
Will we have to use both tools?For any services that are using JCA adapters, we need to use both (JDEV and (sbconsole or OEPE) ).
IF your services doesn't have to use JCA adapters then JDEV is not required.
Let me know if you have any questions.
Manoj
Maybe you are looking for
-
Retruring Multiple rows from a Stored Procedure
The Oracle JDBC documentation shows how to return a cursor pointer through the parameter list of a stored procedure allowing a Java program to use the cursor like a normal result set. I've tried it (using the thin driver) and it works fine - however,
-
Interest Calculation in Dunning & Print Correspondence...
Dear Experts... The below settings are in place. 1) Interest is calculated along with dunning level 2. Config is done for the same. 2) Ther are 2 customized Zforms available for DL2 notice letter and interest invoice. 3) Correspondence Type 0003 & 00
-
Got one error while activating data in dso
Hi, I am loading some data to SAP given dso 0figl_o02. while doing so i got one error with following description Error short text : "Value "CONVERSION REVERSAL " from characteristic 0DOC_HD_TXT contains an error at position 20" Long text : "Characte
-
Pages 5.1 disappeared and reverted back to 09 (4.0.5)!
Hi Everyone. I downloaded Mavericks (love it) from Leopard (a big jump) and upgraded Pages from 4.0.5 to 5.1. I received the new introduction, the new icon in the dock, and converted some of the documents in my files. Today, Pages has reverted bac
-
Aperture 3 will not open in 64 bit mode
Currently running Aperture 3.0.2 (fresh install of trial version with serial number purchased online) on the latest update of Snow Leopard (2.5 GHz MBP). Today, for no apparent reason, I was unable to open Aperture in it's native 64 bit mode. I immed