Calling Glassfish jdbc Datasorce in EJB 3.0 with @Resource annotation.
I tried EJB 3.0 with netbeans and glassfish and "{color:#ff0000}+_ORACLE_+{color}". I wanted to link the oracle database to GLASSFISH server and I followed the instructions.After I clicked 'ping' button, it displayed as *{color:#339966}'PING SUCCEED".{color}*
But I couldn't call my datasource from the eje stateless session bean with @Resource annotation.It resulted a dependency injection exception. Can some one tell me how to do this properly.
{color:#ff0000}Thanks in Advance!!!!{color}
Frank, yes, I can modify if it is necessary the datasource but, how can I say in the xxxx-jdbc.xml not to use JTA transactions when this data source is called inside a ejb 3.0 method?
I'm using Jdev11g and the integrated Web Logic Server.
Thank's
Similar Messages
-
Thread hang during call EJB 3.0 with Weblogic 10.3 (Urgent)
Hello,
We have a java client application call Weblogic Appserver 10.3, EJB 3.0 Service. Occasionally, client application, some step will get hang when try to invoking EJB. When we restart the application server and re-run the client application, it may work or hang on any other step. (Totally, we have around 40 steps to invoking EJB service)
We did check Google and find similar issue happen on the IBM Websphere appserver. They post a patch to fix this issue (http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PK74719), but not Weblogic.
Is there any Weblogic expert who can help me to solve this issue?
I have attached two thread dumps (different steps) when they got hang.
Appreciate your quick help.
Best wishes,
Feelyn
==========================================================================================================================================
Thread Dump files.
NULL ------------------------------------------------------------------------
0SECTION THREADS subcomponent dump routine
NULL =================================
NULL
1XMCURTHDINFO Current Thread Details
NULL ----------------------
NULL
1XMTHDINFO All Thread Details
NULL ------------------
NULL
2XMFULLTHDDUMP Full thread dump J9 VM (J2RE 6.0 IBM J9 2.4 AIX ppc64-64 build jvmap6460-20090215_2988320090215_029883_BHdSMr, native threads):
3XMTHREADINFO "main" TID:0x0000000110A64600, j9thread_t:0x000000011011F420, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x125009, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/util/HashMap.findNonNullKeyEntry(HashMap.java:526(Compiled Code))
4XESTACKTRACE at java/util/HashMap.getEntry(HashMap.java:511(Compiled Code))
4XESTACKTRACE at java/util/HashMap.get(HashMap.java:497(Compiled Code))
4XESTACKTRACE at weblogic/utils/collections/SoftHashMap.get(SoftHashMap.java:194(Compiled Code))
4XESTACKTRACE at weblogic/ejb/container/internal/RemoteBusinessIntfProxy.getTargetMethod(RemoteBusinessIntfProxy.java:125(Compiled Code))
4XESTACKTRACE at weblogic/ejb/container/internal/RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:53(Compiled Code))
4XESTACKTRACE at $Proxy0.cleanBx001(Bytecode PC:18)
4XESTACKTRACE at com/tesco/eod/exec/thred/CleanZBx001Thead.cleanBx001(CleanZBx001Thead.java:38)
4XESTACKTRACE at com/tesco/eod/exec/MainClass.cleanBx001(MainClass.java:1033)
4XESTACKTRACE at com/tesco/eod/exec/MainClass.main(MainClass.java:1239)
3XMTHREADINFO "JIT Compilation Thread" TID:0x0000000111CBE200, j9thread_t:0x000000011011FE20, state:CW, prio=10
3XMTHREADINFO1 (native thread ID:0x127073, native priority:0xB, native policy:UNKNOWN)
3XMTHREADINFO "Signal Dispatcher" TID:0x0000000111EBEB00, j9thread_t:0x0000000111D5B940, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0xA4165, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at com/ibm/misc/SignalDispatcher.waitForSignal(Native Method)
4XESTACKTRACE at com/ibm/misc/SignalDispatcher.run(SignalDispatcher.java:54)
3XMTHREADINFO "Gc Slave Thread" TID:0x0000000111EFED00, j9thread_t:0x0000000111EC8340, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0xDC0CD, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x0000000111FBBA00, j9thread_t:0x0000000111EC8840, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x27C1D9, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x000000011209AB00, j9thread_t:0x0000000112055AE0, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x1EA0D5, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x000000011209FD00, j9thread_t:0x0000000112055FE0, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x282155, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x0000000112107E00, j9thread_t:0x00000001120564E0, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0xFF037, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x0000000112122700, j9thread_t:0x000000011211DD80, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x10B1BF, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Gc Slave Thread" TID:0x00000001123E4200, j9thread_t:0x000000011211E280, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x119025, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "Finalizer thread" TID:0x0000000112D5A000, j9thread_t:0x000000011211E780, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0xDE109, native priority:0x5, native policy:UNKNOWN)
3XMTHREADINFO "ExecuteThread: '0' for queue: 'default'" TID:0x0000000112DEE600, j9thread_t:0x0000000112DD8B80, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x25412D, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:167)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:91)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:115)
3XMTHREADINFO "ExecuteThread: '1' for queue: 'default'" TID:0x0000000112E23F00, j9thread_t:0x0000000112DD9080, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x2DC15F, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:167)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:91)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:115)
3XMTHREADINFO "ExecuteThread: '2' for queue: 'default'" TID:0x0000000112F65E00, j9thread_t:0x0000000112DD9580, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x275171, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:167)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:91)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:115)
3XMTHREADINFO "ExecuteThread: '3' for queue: 'default'" TID:0x0000000112FF2D00, j9thread_t:0x0000000112FBAF80, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x1B4199, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:167(Compiled Code))
4XESTACKTRACE at weblogic/kernel/ExecuteThread.waitForRequest(ExecuteThread.java:89(Compiled Code))
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:115)
3XMTHREADINFO "ExecuteThread: '4' for queue: 'default'" TID:0x00000001130DD800, j9thread_t:0x0000000112FBB480, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0x245133, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/net/SocketInputStream.socketRead0(Native Method)
4XESTACKTRACE at java/net/SocketInputStream.read(SocketInputStream.java:140(Compiled Code))
4XESTACKTRACE at weblogic/socket/SocketMuxer.readReadySocketOnce(SocketMuxer.java:887(Compiled Code))
4XESTACKTRACE at weblogic/socket/SocketMuxer.readReadySocket(SocketMuxer.java:849(Compiled Code))
4XESTACKTRACE at weblogic/socket/JavaSocketMuxer.processSockets(JavaSocketMuxer.java:283)
4XESTACKTRACE at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
4XESTACKTRACE at weblogic/work/ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
3XMTHREADINFO "weblogic.timers.TimerThread" TID:0x0000000111DACF00, j9thread_t:0x0000000112FBB980, state:CW, prio=9
3XMTHREADINFO1 (native thread ID:0xFE11F, native priority:0x9, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:196(Compiled Code))
4XESTACKTRACE at weblogic/timers/internal/TimerThread$Thread.run(TimerThread.java:267)
3XMTHREADINFO "Thread-5" TID:0x00000001130E2900, j9thread_t:0x00000001130DC700, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x1E61A9, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:167)
4XESTACKTRACE at java/util/Timer$TimerImpl.run(Timer.java:210)
3XMTHREADINFO "weblogic.transaction.TxTimer: '1'" TID:0x00000001132FA300, j9thread_t:0x00000001130DCC00, state:CW, prio=5
3XMTHREADINFO1 (native thread ID:0x20E10F, native priority:0x5, native policy:UNKNOWN)
4XESTACKTRACE at java/lang/Object.wait(Native Method)
4XESTACKTRACE at java/lang/Object.wait(Object.java:196(Compiled Code))
4XESTACKTRACE at weblogic/transaction/internal/GenericTimer.run(GenericTimer.java:15)
4XESTACKTRACE at java/lang/Thread.run(Thread.java:735)
NULL ------------------------------------------------------------------------Here has more details:
java weblogic.version: WebLogic Server 10.3 Fri Jul 25 16:30:05 EDT 2008 1137967
SERVICE NAME VERSION INFORMATION
============ ===================
Kernel Commonj WorkManager v1.1
TimerService Commonj TimerManager v1.1
CorbaService CORBA 2.3, IIOP 1.2, RMI-IIOP SFV2, OTS 1.2, CSIv2 Level 0 + Stateful
XMLService XML 1.1
Transaction Service JTA 1.0.1B
JDBCService JSR-114, JDBC 3.0
CustomResourceServerService 1.0.0.0
Servlet Container Servlet 2.5, JSP 2.1
WebServices JSR-173, JAX-RPC, JSR-109, WSDL, WS-Addressing, WS-Policy, JAX-B, JAX-R, UDDI, WS-Management(HP), JAXP-1.3, WS-Security
Pre Admin Singleton Services S 1.0
Singleton Services Batch Manag 1.0
EJB Container EJB 3.0
MDBService EJB 3.0
EJBTimerService EJB 3.0
J2EE Connector 1.5
JMS Service JMS 1.1 -
JDBC, JMS and EJB transactions - possible problem?
Hello,
I am using Oracle 9, Weblogic 8.1 SP 4, MyEclipse and
XDoclet.
In my current project I have the following piece of code
in one of my message driven beans (code cited as pseudocode
without unnecessary details):
* @ejb.bean name="MyMessageProcessor"
* display-name="Display name for a MyMessageProcessor"
* jndi-name="ejb/MyMessageProcessor"
* description="Bean MyMessageProcessor"
* destination-type="javax.jms.Queue"
* transaction-type="Container"
* acknowledge-mode="Auto-acknowledge"
* subscription-durability="Durable"
* generate="false"
* @ejb.transaction type="Required"
public class MyMessageProcessor implements MessageDrivenBean, MessageListener {
public void onMessage(Message msg) {
try {
//obtaining connections to two different databases via JNDi
java.sql.Connection connOne =
((DataSource)ctx.lookup("DataSourceOne")).getConnection();
java.sql.Connection connTwo =
((DataSource)ctx.lookup("DataSourceTwo")).getConnection();
// performing some UPDATEs and INSERTs on connOne and connTwo
// calling some other methods of this bean
//creating the reply JMS message and sending it to another JMS queue
Message msgTwo = this.createReplyMessage(msg)
this.queueSender.send(msgTwo);
//commiting everything
this.queueSession.commit();
} catch (Exception ex) {
try {
if (this.queueSession!=null) this.queueSession.rollback();
} catch (JMSException JMSEx) {};
this.context.setRollbackOnly();
Some days ago (before the final remarks from my client) there used to be only one DataSource configurated on the basis of the
connection pool with non-XA jdbc driver. Everything worked fine
including the transactions (if anything wrong happend not only wasn't the replymessage sent, but also no changes were written
to database and the incomming message was thrown back to the my bean's
queue).
When I deployed the second DataSource I was informed by an error message, that only one non-transactional resource may
participate in a global transaction. When I changed both datasources
to depend on underlying datasources with transatcional (XA) jdbc drivers, everything stopped working. Even if
EJB transaction was theoretically successfully rolledbacked, the changed were written to the database
and the JMS message wasn't resent to the JMS queue.
So here are my questions:
1. How to configure connection pools to work in such situations? What JDBC drivers should I choose?
Are there any global server configurations, which may influence this situation?
2. Which jdbc drivers should I choose so that the container was able to rollback the database transactions
(of course, if necessary)?
3. Are there any JMS Queue settings, which would disable the container to send message back to the
queue in case of setRollbackOnly()? How should be the Queue configurated?
As I am new to the topic and the deadline for the project seems to be too close I would be grateful
for any help.
This message was sent to EJB list and JDBC list.
Sincerely yours,
Marcin ZakidalskiHi,
I found these information extremely useful and helpful.
The seperate transaction for sending messages was, of course, unintentional. Thanks a lot.
Anyway, I still have some problems. I have made some changes to the
code cited in my previous mail. These changes included changing QueueSessions
to non-transactional. I also set the "Honorate global transactions" to true.
I am using XA JDBC driver. After setting "Enable local transactions" to false
(I did it, because I assume that JDBC transactions should be part on the global
EJB transaction) I got the following error:
java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA
driver supports performing SQL operations with no global transaction, explicitly allow it by setting
"SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local
transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To
complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
I have also inspected the calls of methods of bean inside of onMessage() method just to check, whether
the transactions are correctly initialized (using the weblogic.transaction.Transaction class).
My questions are as follows:
1. Any suggestions how to solve it? I have gone through the google answers on that problem and only
thing I managed to realize that JDBC must start its own transaction. Is there any way to prohibit it
from doing that? Can using setAutocommit(true/false) change the situation for better?
2. How to encourage the JDBC driver to be a part of EJB transaction?
3. As I have noticed each of ejb method has its own transactions (transactions have different
Xid). Each method of the bean has "required" transaction attribute. Shouldn't it work in such
way that if already started transaction exists it is used by the called method?
4. The DataSources are obtained in my application via JNDI and in the destination environment I will have slight
impact on the configuration of WebLogic. What is least problematic and most common WebLogic configuration which would
enable JDBC driver to participate in the EJB transaction? Is it the WebLogic configuration problem or can it be
solved programmically?
Currently my module works quite fine when "enable local transactions" for DataSources is set to true, but this way
I am loosing the ability to perform all actions in one transaction.
Any suggestions / hints are more than welcomed. This message was posted to jdbc list and ejb list.
Marcin -
JDBC transactions in EJB 3.0
We have an EJB 3.0 method that call some jdbc DAO methods. This DAO methods called from controller (servlet) works fine, but when called from EJB method raise the following exception:
"java.sql.SQLException: Cannot call Connection.commit in distributed transaction. Transaction Manager will commit the resource manager when the distributed transaction is committed."
I think it is a JTA related error. I don't want to use JTA because I can't modify DAO (its a third party library).
I've tried annotation @TransactionAttribute(value=SUPPORTS) in the EJB method without success.
There is anyway to say EJB 3.0 not use JTA?
Thank'sFrank, yes, I can modify if it is necessary the datasource but, how can I say in the xxxx-jdbc.xml not to use JTA transactions when this data source is called inside a ejb 3.0 method?
I'm using Jdev11g and the integrated Web Logic Server.
Thank's -
Servlets/JDBC vs. servlets/EJB performance comparison/benchmark
I have a PHB who believes that EJB has no ___performance___ benefit
against straightforward servlets/JSP/JDBC. Personally, I believe that
using EJB is more scalable instead of using servlets/JDBC with
connection pooling.
However, I am at a lost on how to prove it. There is all the theory, but
I would appreciate it if anyone has benchmarks or comparison of
servlets/JSP/JDBC and servlets/JSP/EJB performance, assuming that they
were tasked to do the same thing ( e.g. performance the same SQL
statement, on the same set of tables, etc. ).
Or some guide on how to setup such a benchmark and prove it internally.
In other words, the PHB needs numbers, showing performance and
scalability. In particular, I would like this to be in WLS 6.0.
Any help appreciated.First off, whether you use servlets + JDBC or servlets + EJB, you'll
most likely spend much of your time in the database.
I would strongly suggest that you avoid the servlets + JDBC
architecture. If you want to do straight JDBC code, then it's
preferable to use a stateless session EJB between the presentation layer
and the persistence layer.
So, you should definitely consider an architecture where you have:
servlets/jsp --> stateless session ejb --> JDBC code
Your servlet / jsp layer handles presentation.
The stateless session EJB layer abstracts the persistence layer and
handles transaction demarcation.
Modularity is important here. There's no reason that your presentation
layer should be concerned with your persistence logic. Your application
might be re-used or later enhanced with an Entity EJB, or JCA Connector,
or a JMS queue providing the persistence layer.
Also, you will usually have web or graphic designers who are modifying
the web pages. Generally, they should not be exposed to transactions
and jdbc code.
We optimize the RMI calls so they are just local method calls. The
stateless session ejb instances are pooled. You won't see much if any
performance overhead.
-- Rob
jms wrote:
>
I have a PHB who believes that EJB has no ___performance___ benefit
against straightforward servlets/JSP/JDBC. Personally, I believe that
using EJB is more scalable instead of using servlets/JDBC with
connection pooling.
However, I am at a lost on how to prove it. There is all the theory, but
I would appreciate it if anyone has benchmarks or comparison of
servlets/JSP/JDBC and servlets/JSP/EJB performance, assuming that they
were tasked to do the same thing ( e.g. performance the same SQL
statement, on the same set of tables, etc. ).
Or some guide on how to setup such a benchmark and prove it internally.
In other words, the PHB needs numbers, showing performance and
scalability. In particular, I would like this to be in WLS 6.0.
Any help appreciated.--
Coming Soon: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnweblogic.com -
HOW TO CALL A WEB SERVICE OR EJB FROM BPEL
HI
i want to call java web service or ejb from my bpel process. how can i do this.
i am using oracle soa10.1.3.1.0 and jdeveloper 10.1.3.1.0 and oracle database xe 10g.
thanks in advance K ROYYou could deploy your EJB or Java under a web service into your OC4J, after that, you invoke a partnerlink from BPEL to the destination of wsdl will do. Also don't forget to add in your XSD schema as well.
Thanks,
Jyno -
Error with Asynchronous RFC call to JDBC
Hi all,
We are working on a scenarion where in we have to make an asynchronous RFC call to JDBC.
We have configured RFC sender adapter following this weblog
/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
We have created data types only for the database as RFC does not require any data types.
And also we have created message types,message interfaces accordingly.
In Message Mappping,we mapped the export parameters of RFC to the access fields of database message type.
Also we have created sender agreement,interface determinations etc.... accordingly
And for sending RFC request asynchronously we followed this weblog
/people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
Once done with all the above steps we could able to trigger the RFC call and caught with the following errors in SXMB_MONI and no errors are seen in communication monitoring
SOAP Error:
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>+
+- <!-- Request Message Mapping+
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
<SAP:P1>com/sap/xi/tf/_curr_exg_mm2_</SAP:P1>
<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" /> <SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_curr_exg_mm2_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Also trace shows the following error thogh the interface determinations are properly configured
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!-- ************************************
-->
<Trace level="1" type="T">--start sender interface action determination</Trace>
<Trace level="1" type="T">select interface BAPI_EXCHRATE_GETCURRENTRATES*</Trace>
<Trace level="1" type="T">select interface namespace urn:sap-com:document:sap:rfc:functions</Trace>
<Trace level="1" type="T">no interface found</Trace>
<Trace level="1" type="T">--start receiver interface action determination</Trace>
<Trace level="1" type="T">Loop 0000000001</Trace>
<Trace level="1" type="T">select interface *</Trace>
<Trace level="1" type="T">select interface namespace</Trace>
<Trace level="1" type="T">no interface found</Trace>
<Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
<Trace level="1" type="T">Hence set action to DEL</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
<Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
<Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
- <!-- ************************************
-->
<Trace level="1" type="T">----</Trace>
<Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
the above errors are shown as part of request mapping..
Can any one please let me know what other configurations do we need to do?
I did not map the RFC import parameters,do we need to do that
Any help in this regard is really appreciated
Rgds,
SanthoshHi,
I am really happy to hear that the problem with mapping is resolved.
Now as per your requirment It needs to be aynschornous RFC--> XI ---> JDBC call. In XI you should map the RFC Export parameters to the traget structure of JDBC.
then the question is to how to trigger the RFC Function Module in R/3 to XI.
Plesae follow below steps to trigger it from SAP R/3
1. Create a RFC in the R/3 system
2. Configure the SM59 and Sender Communication channle as given in the Michal's blog. Also test if it is succesful.
/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
3. Import the RFC in XI
4. Do the mapping to the target strucutre
5. Configure the JDBC receiver adapter
/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
6. You can trigger the RFC from R/3 sytem by using
Async Call - in ABAP program use below syntax to call RFC. Here the export parameters will be passed on to XI which further have mapped to JDBC.
CALL Function "RFC Name" IN BACKGROUND TASK destination <sm59 destination>
COMMIT WORK.
Sync Call
CALL Function "RFC Name" destination <sm59 destination>
Thanks
Swarup
Edited by: Swarup Sawant on Jan 27, 2008 9:14 AM -
Javax.ejb.ObjectNotFoundException: Bean with primary key '555' was not foun
When I delete a particular entity bean instance, i get the following exception:
javax.ejb.ObjectNotFoundException: Bean with primary key '555' was not found by 'findByPrimaryKey'.
But, the instance is being deleted from the database.
Anyone please help,
Thank u,
SeshuGreetings,
When I delete a particular entity bean instance, i get
the following exception:
javax.ejb.ObjectNotFoundException: Bean with primary
key '555' was not found by 'findByPrimaryKey'.Interesting. How is your client calling the bean's remove method? Directly or through its home? Is it calling findByPrimaryKey before or after the call to remove? What is the PrimaryKey class type of your bean? Is the client passing a correct instance? All are things to be considered when troubleshooting your application. If more assistance is required, then seeing the relevant source code would be more helpful.
But, the instance is being deleted from the database.As is generally to be expected. No?
Anyone please help,
Thank u,
SeshuRegards,
Tony "Vee Schade" Cook -
Subclassed EJB with RolesAllowed annotation not giving permission
A servlet is calling a method of an EJB (name EJB B). EJB B is a sub class of EJB A which contains the method and is not overridden by EJB B.
EJB A uses the annotation @RolesAllowed({"user","system","admin"})
EJB B uses the annotation @RolesAllowed({"system"})
When the call is made by the servlet the following error is produced:
JBAS014134: EJB Invocation failed on component EJB B for method xxxx: javax.ejb.EJBAccessException: JBAS014502: Invocation on method: xxxx throws exception of bean: EJB B is not allowed
If I replace the EJB A annotation with @PermitAll then the method is called without the permission problem.
I am wondering why the 'system' role allowed in EJB A is ignored in the annotation and the exception is thrown.
Is this a bug perhaps?Hi Jay Bhaiya,
I am getting the correct output by following the below:
1: Change the SecurityRolesImpl.java to provide the below role that can access the EJB method:
*@RolesAllowed({"TestRole"})*
2: Then build the service as normal using the same build.xml
3: Do not depoly the EAR using ant and try to use the Admin Console to deploy the EAR.
4: While deploying the application through the admin console choose the below option:
Custom Roles: Use roles that are defined in the Administration Console; use policies that are defined in the deployment descriptor.
5: Then create the client stubs using the build.xml
6: Then go to the Admin Console.
Security Realm >> my realm >> users and Groups >> create a user TestUser ( pass- TestUser).
7: Then Click on the RolesAllowedEar under the depolyments tab.
Click on Security >> Roles ..
Create a New Role >>> TestRole.
Click on the Role created (TestRole) >>> Add Condition >>>
Within Add Condition >> select User >> NEXT >>>
Enter TestUser >>> Click ADD .
Click Save.
Now try to access the Web Service using the client code.
Thanks,
Sandeep -
A Tip for using EJB 3.0 with WebLogic Ant Tasks
I started out writing this up as a problem, but then I found the answer so I'm, posting a tip instead.
When I tried to write an EJB [stateless] using EJB 3.0 in my legacy Weblogic ear project I started getting this error:
<pre>
No EJBs found in the ejb-jar file 'test'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation.
</pre>
This is why: wlcompile will put the class files in the App-Inf/classes directory unless it finds an ejb-jar.xml file in the META-INF directory for the module it is working on. With EJB 3.0, I wasn't using an ejb-jar.xml file because it was unnecessary. Later, Appc runs and it complains <b>because there are no classes module directory, they went into the shared ear folder instead.</b>
Here's I how it working again: Use javac [not wlcompile] to compile the EJB 3.0 module and make sure that the class files go into the correct module directory. Then you can use wlappc to generate all the associated files for the EJB. I have sucessfully deployed an ear file that uses both EJB 2.x and EJB 3.0 with this approach.
I wish Weblogic's own ejb3.0 sample application used their split directory deployment.
Good Luck.
John AronsonHi John,
I am working on development an enterprise application using EJB 3.0 on Weblogic 10.
While developing, I am keeping all my classes (from ejb's as well as web) into APP-INF/classes directory. It is working fine for Web and ejb 2.0 packages, but ejb 3.0 packages, I get the following error when I keep my ejb 3.0 beans classes in APP-INF/classes directory.
No EJBs found in the ejb-jar file 'customer'. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation.
One solution is to keep the classes under customer ejb directory, but I wan tto keep all the classes in APP-INF/classes directory so that when using Eclipse IDE I can output all compiled sources into APP-INF/classes directory.
Has anyone faced this situation? Any suggestions to fix this issue? -
A free ebook for EJB 3.0 with the latest version of Netbean
Hi,
I am a trainee although with a good background in java.
I'm urgently in need of a free ebook for EJB 3.0 with the latest version of Netbean. Pls, help me with one if you have. my email is [email protected]
Again, is container managed bean good for a big project?
Thanks.
Emekaemekaco wrote:
Hi,
I am a trainee although with a good background in java.
I'm urgently in need of a free ebook for EJB 3.0 with the latest version of Netbean. Pls, help me with one if you have. my email is [email protected]
http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss
Here's a good free e-book but without Netbean. It covers everything you would need to know about EJBs.
>
Again, is container managed bean good for a big project?
The question is too vague to be answered. It's a design decision that needs more details. -
The back of my iphone 4 got smashed and it worked fine for about 3 hours.
Then in the top left corner of my screen where normaly my service bars are, it said "searching".
And i could no longer make/receive any calls and my phone is completely unconnected to my 3G network.
I consistantly am getting a pop up message from apple saying that i "cannot make/receive any calls" and i need to do " a restore with tunes".
The closest Apple store is about 1.5 hrs from my house.
Please HELP!If you have the computer that you first setup the phone with iTunes then just connect the phone to that computer via. the USB cable and see if a sync can be done.
-
HI all,
My iphone 3gs fell down and now it dosnt charge ,nor is the home button responding. there is a slight gap in the left side (back panel as well)..further the caller cant hear me but conversation is clear with earphones..plz helpsounds like the fall caused some damage. get it replaced through apple
-
I am having problems with hullu plus, to wach tv shows or any, I call them but they say the problem is with my iPad, bur I used to wach with no problems do you have any suggestion. On wath to do?
Update your iPad to iOS 5.1.1. Connect your iPad to your computer, launch iTunes then click on the Check for Update button.
-
Remote JDBC problem while setting up it with BPM Studio 10.3
Hi
I am trying to use the Remote JDBC for SQL Connection to Database with Oracle BPM Studio.
When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
Step 1: Create a new external resource
Name: erJavaLibrary
Type: Java Class Library
Jar libraries: weblogic.jar
wlclient.jar
Step 2: Create a new external resource
Name: erWebLogic
Type: J2EE Application Server type
Initial Context Factory: weblogic.jndi.WLInitialContextFactory
URL: http://192.168.1.32:7001
Principal: weblogic
Credentials: *******
Step 3: Create a new external resource
Name: erSQLjdb
Type: SQL database
Supported Types : Remote JDBC
Database Type : BPM MS SQL Server 2005
J2EE : erWebLogic
Lookup Name : TestBPMDS
Step 4: Creating a new catalog modulo for database component
Select Catalog Component, and then select SQL
Specify which configuration: erSQLjdbc
Exception error:
weblogic/security/subject/AbstractSubject
Caused by: weblogic.security.subject.AbstractSubject
java.lang.NoClassDefFoundError: weblogic/security/subject/AbstractSubject
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
at fuego.connector.impl.BaseRemoteConnector.getContext(BaseRemoteConnector.java:99)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:114)
at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:75)
at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:145)
at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:129)
at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:90)
at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: weblogic.security.subject.AbstractSubject
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 24 moreSolution procedure:
1. Create the wlfullclient.jar file in weblogic environment:
It is documented in: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13717/jarbuilder.htm#BABCGHFH
2. Add the wlfullclient.jar file as external resource.
3. Create the Remote JDBC data source configuration
Maybe you are looking for
-
Restrict Access to Page Using a password.php Instead of Server Behavior
I previously used "log in" and "restrict access to page" server behaviors for my client portal when I only had one client. I had my username and password stored in mySQL database. I recently have gained more clients that all needed to be redirected t
-
Not able to submit a pet on the seller screen of Petstore 2.0...
Hi, If all other parts of the application works correctly, it could be a library conflict. If the portal container is deployed or you have an early version of Apaches commons fileupload libraries in your system classpath, then submitting a pet will f
-
Removing Extra Stuff from Scanned Page...
Hi All, I have a scanned page saved as a JPEG file. The page contains handwritten stuff (like text or drawings in black or colored ink). How to remove extra stuff like page shrink marks or background of the paper from the scanned page so that only wr
-
Broadcast Setting - Bursting : Could not determine recipient
Hello, I created broadcast setting for template using option bursting. Template is broadcasted by district (attribute of 0plant). Here is the option for broadcasting. Chracteristic for receipient determination : Generate Document with Variable Value
-
Armenian fonts installed and show up in Photoshop, but they don't work.
Hi, I have a Mac OSX 10.6.8 running on Snow Leopard. I have Photoshop CS5. I installed about 10 different Armenian fonts (ttf file extensions) and unzipped them. I double clicked them all and installed them into my Font Book. They appear in Final Cut