Writing Session EJB or BMP access Oracle XMLType
Hi,
Has anyone sucessfully implemented EJBs with Oracle 9i new feature, XMLType
object? The one criteria is to allow large XML document to be inserted or
retreived. Large document means total characters more than 4000.
Thanks.
Danny.
All,
Forgot to mention that it's already configured using Oracle thin driver.
As I mentioned before, the rmi exception is probably due to the dataLookup
since it's not getting the connection directly from Oracle. Instead, it's
calling WL's dataSource.
How to figure out the casting problem??
Thanks in advance.
Danny.
"Danny" <[email protected]> wrote in message
news:[email protected]...
Thanks.
After moving the classes12.zip before the weblogic.jar, I encounteranother
problem.
java.lang.ClassCastException: weblogic.jdbc.rmi.SerialConnection
at
oracle.jdbc.driver.OracleConnection.physicalConnectionWithin(OracleConnectio
n.java:5043)
at oracle.sql.CLOB.createTemporary(CLOB.java:960)
at ... ...DBConnect.getCLOB(DBConnect.java:120)
Any idea?
Regards,
Danny.
"Ryan LeCompte" <[email protected]> wrote in message
news:[email protected]...
Hello Danny,
Yes, it appears so. Have you tried moving your classes12.zip (from yourOracle
installation) before the weblogic.jar in the classpath? This should pickup the
Oracle API before the WebLogic API and thus should work. Let us know ifyou have
any further problems.
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Danny" <[email protected]> wrote:
Hi Ryan,
Please find attached logging message.
I suspect it is trying to use Weblogic's CLOB instead of Oracle's.
Thanks.
Danny.
"Ryan LeCompte" <[email protected]> wrote in message
news:[email protected]...
Hello Danny,
Could you paste any exceptions or describe in more detail what
"failed"
means
in this case? More information would be more helpful.
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Danny" <[email protected]> wrote:
Thanks Ryan,
The example shows how to use JDBC connection directly. Another
option
is to
use Weblogic's TX connection pool. In fact, I've tried this butfailed.
The idea of using Weblogic's connection pool is to have Weblogichandle
or
the pooling and transction since the rest of app are calling it.Let
me
know if you have tried it with no error.
Cheers,
Danny.
"Ryan LeCompte" <[email protected]> wrote in message
news:[email protected]...
Hey Danny!
To see how to access Oracle's XMLType via JDBC (which you'll be
utilizing
in your
BMPs), refer to the following code example:
http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/9i_jdbc/XMLType
S
ample/XMLTypeSample.java.html
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Danny" <[email protected]> wrote:
Hi,
Has anyone sucessfully implemented EJBs with Oracle 9i new
feature,
XMLType
object? The one criteria is to allow large XML document to be
inserted
or
retreived. Large document means total characters more than 4000.
Thanks.
Danny.
begin 666 CLOB.log
M:F%V87@N96IB+E1R86YS86-T:6]N4F]L;&5D8F%C:TQO8V%L17AC97!T:6]N
M.B!%2D(@17AC97!T:6]N.CH@:F%V82YL86YG+DYO4W5C:$UE=&AO9$5R<F]R
M#0HN+BX@+BXN($1"0V]N;F5C="YG971#3$]"*$1"0V]N;F5C="YJ879A.C$R
M,"D-"@T*#0HO+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*@T*:6UP;W)T(&IA=F$N:6\N5W)I=&5R.PT*:6UP;W)T
M(&IA=F$N:6\N4F5A9&5R.PT*:6UP;W)T(&IA=F$N=71I;"XJ.PT*:6UP;W)T
M(&IA=F$N<W%L+E-13$5X8V5P=&EO;CL-"FEM<&]R="!J879A+G-Q;"Y"871C
M:%5P9&%T945X8V5P=&EO;CL-"FEM<&]R="!J879A+G-Q;"Y297-U;'13970[
M#0II;7!O<G0@:F%V82YS<6PN4F5S=6QT4V5T365T841A=&$[#0II;7!O<G0@
M:F%V82YS<6PN0V]N;F5C=&EO;CL-"FEM<&]R="!J879A+G-Q;"Y3=&%T96UE
M;G0[#0II;7!O<G0@:F%V82YS<6PN4')E<&%R9613=&%T96UE;G0[#0II;7!O
M<G0@:F%V87@N<W%L+D1A=&%3;W5R8V4[#0II;7!O<G0@;W)A8VQE+G-Q;"Y#
M3$]".PT*:6UP;W)T(&]R86-L92YJ9&)C+D]R86-L95)E<W5L=%-E=#L-"FEM
M<&]R="!J879A>"YN86UI;F<N*CL-"@T*<'5B;&EC(&-L87-S($1"0V]N;F5C
M="![#0H@('!R:79A=&4@<W1A=&EC(&9I;F%L(%-T<FEN9R!D<TYA;64@/2 B
M:61X1&%T85-O=7)C92([#0H-"B @<'5B;&EC(%-T<FEN9R!E>&5C=71E6$U,
M475E<GDH4W1R:6YG('%U97)Y+"!3=')I;F<@<W1R:6YG*2!T:')O=W,@17AC
M97!T:6]N>PT*(" @($-,3T(@8VQO8B ](&YU;&P[#0H-"B @(" O+R!'971S
M('1H92!#;VYN96-T:6]N#0H@(" @0V]N;F5C=&EO;B!C;VYN(#T@*$-O;FYE
M8W1I;VXI(&=E=$-O;FYE8W1I;VXH*3L-"B @(" O+R!);FET:6%L:7IE('-T
M871E;65N="!/8FIE8W0-"B @("!0<F5P87)E9%-T871E;65N="!P<W1M=" ]
M(&YU;&P[#0H@(" @+R\@26YI=&EA;&EZ92!297-U;'13970-"B @("!297-U
M;'13970@<G,@/2!N=6QL.PT*(" @($]R86-L95)E<W5L=%-E="!O<G,@/2!N
M=6QL.PT*#0H@(" @4F5A9&5R(')E861E<CL-"@T*(" @("\O($YO(&]F(&)Y
M=&5S(')E860@96%C:"!T<FEP('1O(&1A=&%B87-E#0H@(" @:6YT(&)Y=&5S
M<F5A9#TP.PT*(" @("\O($)U9F9E<B!T;R!H;VQD('1H92!#3$]"(&1A=&$-
M"B @("!3=')I;F="=69F97(@8VQO8D1A=&$@/2!N97<@4W1R:6YG0G5F9F5R
M*"D[#0H-"B @("!T<GE[#0H@(" @(" O+R!'970@=&AE('-T871E;65N="!/
M8FIE8W0-"B @(" @('!S=&UT(#T@8V]N;BYP<F5P87)E4W1A=&5M96YT*'%U
M97)Y*3L-"@T*+R\@(" @("!I9B H<W1R:6YG+G-T87)T<U=I=&@H(CP_>&UL
M('9E<G-I;VX]7"(Q+C!<(C\^(BDI>PT*(" @(" @+R\@0W)E871E('1H92!#
M3$]"(&%N<R!S970@:70@:6X@=&AE(%!R97!A<F5D4W1A=&5M96YT+@T*(" @
M(" @+R\@5&AI<R!I<R!D;VYE(&%S('1H92!834P@8V%N(&)E(&UO<F4@=&AA
M;B T,# P(&-H87)A8W1E<G,-"B @(" @("\O('=H:6-H(&ES(&$@;&EM:70@
M9F]R('1H92!1=65R>0T*(" @(" @("!C;&]B(#T@=&AI<RYG971#3$]"*'-T
M<FEN9RP@8V]N;BD[#0H@(" @(" @('!S=&UT+G-E=$]B:F5C="@Q+"!C;&]B
M*3L-"B\O(" @(" @?65L<V5[#0H@(" @(" @("\O(%-E=',@=&AE('!A<F%M
M971E<B!T;R!T:&4@<')E<&%R9613=&%T96UE;G0-"B\O(" @(" @("!P<W1M
M="YS971/8FIE8W0H,2P@<W1R:6YG*3L-"@T*+R\@(" @("!]#0H-"B @(" @
M("\O($5X96-U=&4@=&AE('%U97)Y#0H@(" @("!B;V]L96%N(&ES4F5S=6QT
M4V5T(#T@<'-T;[email protected]*#0H@(" @("!I9B H:7-297-U;'13
M970I>PT*(" @(" @(" O+R!4:&ES(&UE86YS('1H870@82!297-U;'13970@
M:&%S(&)E96X@<F5T<FEE=F5D(&9O<B!T:&ES('%U97)Y#0H@(" @(" @(')S
M(#T@<'-T;70N9V5T4F5S=6QT4V5T*"D[#0H@(" @("!]#0H-"B @(" @("\O
M($EN:71I86QI>F5S('1H92!/<F%C;&4@4F5S=6QT4V5T+@T*(" @(" @;W)S
M(#T@*$]R86-L95)E<W5L=%-E="D@<G,[#0H-"B @(" @('=H:6QE*&]R<RYN
M97AT*"DI>PT*(" @(" @(" O+R!'971S('1H92!(5$U,(')E='5R;F5D(&EN
M(&$@0TQ/0@T*(" @(" @("!C;&]B(#T@;W)S+F=E=$-,3T(H,2D[#0H@(" @
M("!]#0H-"B @(" @("\O($]P96X@=&AE('-T<F5A;2!T;R!R96%D(&1A=&$-
M"B @(" @(')E861E<B ](&-L;V(N9V5T0VAA<F%C=&5R4W1R96%M*"D[#0H-
M"B @(" @("\O("!"=69F97(@<VEZ92!I<R!F:7AE9"!U<VEN9R!T:&4@9V5T
M0G5F9F5R4VEZ92@I(&UE=&AO9"!W:&EC:"!R971U<FYS#0H@(" @(" O+R @
M=&AE(&]P=&EM86P@8G5F9F5R('-I>F4@=&\@<F5A9"!D871A(&9R;VT@=&AE
M($Q/0@T*(" @(" @8VAA<EM=(&-H87)B=69F97(@/2!N97<@8VAA<EMC;&]B
M+F=E=$)U9F9E<E-I>F4H*5T[#0H-"B @(" @("\O($ME97 @<F5A9&EN9R!F
M<F]M('1H92!#3$]"(&%N9"!A<'!E;F0@:70@=&\@=&AE(%-T<FEN9T)U9F9E
M<B!T:6QL#0H@(" @(" O+R!T:&5R92!I<R!N;R!M;W)E('1O(')E860-"B @
M(" @('=H:6QE*"AB>71E<W)E860]<F5A9&5R+G)E860H8VAA<F)U9F9E<BDI
M(3T@+3$I#0H@(" @(" @(&-L;V)$871A+F%P<&5N9"AC:&%R8G5F9F5R+# L
M8GET97-R96%D*3L-"@T*(" @(" @+R\@0VQO<V4@=&AE(&EN<'5T('-T<F5A
M;0T*(" @(" @<F5A9&5R+F-L;W-E*"D[#0H-"B @(" @(')E='5R;B!C;&]B
M1&%T82YT;U-T<[email protected]*(" @('UC871C:"A344Q%>&-E<'1I;VX@<W%L
M97AP*7L-"B @(" @('-Q;&5X<"YP<FEN=%-T86-K5')A8V4H*3L-"B @(" @
M('1H<F]W(&YE=R!344Q%>&-E<'1I;VXH<W%L97AP+F=E=$UE<W-A9V4H*2D[
M#0H@(" @?0T*(" @(&-A=&-H*$5X8V5P=&EO;B!E>' I>PT*(" @(" @97AP
M+G!R:6YT4W1A8VM4<F%[email protected]*(" @(" @=&AR;W<@;F5W($5X8V5P=&EO
M;BAE>' N9V5T365S<V%G92@I*3L-"B @("!]#0H@(" @9FEN86QL>7L-"B @
M(" @('1R>7L-"B @(" @(" @9G)E94-,3T(H8VQO8BD[#0H@(" @(" @(&EF
M("AR<R A/2!N=6QL*7L-"B @(" @(" @("!R<RYC;&][email protected]*(" @(" @
M("!]#0H@(" @(" @(&EF("AO<G,@(3T@;G5L;"E[#0H@(" @(" @(" @;W)S
M+F-L;W-E*"D[#0H@(" @(" @('T-"B @(" @(" @:68@*'!S=&UT("$](&YU
M;&PI>PT*(" @(" @(" @('!S=&UT+F-L;W-E*"D[#0H@(" @(" @('T-"B @
M(" @(" @:68@*&-O;FX@(3T@;G5L;"E[#0H@(" @(" @(" @8V]N;BYC;&]S
[email protected]*(" @(" @("!]#0H@(" @("!](&-A=&-H*%-13$5X8V5P=&EO;B!S
M<6QE>' I>PT*(" @(" @(" @<W%L97AP+G!R:6YT4W1A8VM4<F%[email protected]*
M(" @(" @(" @=&AR;W<@;F5W(%-13$5X8V5P=&EO;BAS<6QE>' N9V5T365S
M<V%G92@I*3L-"B @(" @('T-"B @("!]#0H@('T-"B @<'5B;&EC($-,3T(@
M9V5T0TQ/0BA3=')I;F<@8VQO8D1A=&$L($-O;FYE8W1I;VX@8V]N;BD@=&AR
M;W=S(%-13$5X8V5P=&EO;GL-"B @("!#3$]"('1E;7!#;&]B(#T@;G5L;#L-
M"B @("!T<GE[#0H@(" @(" O+R!)9B!T:&4@=&5M<&]R87)Y($-,3T(@:&%S
M(&YO="!Y970@8F5E;B!C<F5A=&5D+"!C<F5A=&4@;F5W#0H@(" @("!T96UP
M0VQO8B ]($-,3T(N8W)E871E5&5M<&]R87)Y*&-O;FXL('1R=64L($-,3T(N
M1%52051)3TY?4T534TE/3BD[#0H@(" @(" O+R!/<&5N('1H92!T96UP;W)A
M<GD@0TQ/0B!I;B!R96%D=W)I=&4@;6]D92!T;R!E;F%B;&4@=W)I=&EN9PT*
M(" @(" @=&5M<$-L;V(N;W!E;BA#3$]"+DU/1$5?4D5!1%=2251%*3L-"B @
M(" @("\O($=E="!T:&4@;W5T<'5T('-T<F5A;2!T;R!W<FET90T*(" @(" @
M5W)I=&5R('1E;7!#;&]B5W)I=&5R(#T@=&5M<$-L;V(N9V5T0VAA<F%C=&5R
M3W5T<'5T4W1R96%M*"D[#0H@(" @(" O+R!7<FET92!T:&4@9&%T82!I;G1O
M('1H92!T96UP;W)A<GD@0TQ/0@T*(" @(" @=&5M<$-L;V)7<FET97(N=W)I
M=&4H8VQO8D1A=&$I.PT*(" @(" @+R\@1FQU<V@@86YD(&-L;W-E('1H92!S
M=')E86T-"B @(" @('1E;7!#;&]B5W)I=&5R+F9L=7-H*"D[#0H@(" @("!T
M96UP0VQO8E=R:71E<BYC;&][email protected]*(" @(" @+R\@0VQO<V4@=&AE('1E
M;7!O<F%R>2!#3$]"#0H@(" @("!T96UP0VQO8BYC;&][email protected]*(" @(" @
M<F5T=7)N('1E;7!#;&]B.PT*(" @('T@8V%T8V@H4U%,17AC97!T:6]N('-Q
M;&5X<"E[#0H@(" @("!F<F5E0TQ/0BAT96UP0VQO8BD[#0H@(" @("!S<6QE
M>' N<')I;G13=&%C:U1R86-E*"D[#0H@(" @("!T:')O=R!N97<@4U%,17AC
M97!T:6]N*'-Q;&5X<"YG971-97-S86=E*"DI.PT*(" @('T-"B @("!C871C
M:"A%>&-E<'1I;VX@97AP*7L-"B @(" @(&9R965#3$]"*'1E;7!#;&]B*3L-
M"B @(" @(&5X<"YP<FEN=%-T86-K5')A8V4H*3L-"B @(" @('1H<F]W(&YE
M=R!344Q%>&-E<'1I;VXH97AP+F=E=$UE<W-A9V4H*2D[#0H@(" @?0T*("!]
M#0H@('!R:79A=&4@=F]I9"!F<F5E0TQ/0BA#3$]"(&-L;V(I('1H<F]W<R!3
M44Q%>&-E<'1I;VY[#0H@(" @=')Y>PT*(" @(" @8VQO8BYF<F5E5&5M<&]R
M87)Y*"D[#0H@(" @?6-A=&-H*%-13$5X8V5P=&EO;B!S<6QE>' I>PT*(" @
M(" @<W%L97AP+G!R:6YT4W1A8VM4<F%[email protected]*(" @(" @=&AR;W<@;F5W
M(%-13$5X8V5P=&EO;BAS<6QE>' N9V5T365S<V%G92@I*3L-"B @("!]#0H@
M('T-"B @<'5B;&EC($-O;FYE8W1I;VX@9V5T0V]N;F5C=&EO;B@I('1H<F]W
M<R!344Q%>&-E<'1I;VX@>PT*(" @($1A=&%3;W5R8V4@9',@/2!G971$871A
M4V]U<F-E*&1S3F%M92D[#0H@(" @<F5T=7)N(&1S+F=E=$-O;FYE8W1I;VXH
M*3L-"B @?0T*#0H@('!U8FQI8R!#;VYN96-T:6]N(&=E=$-O;FYE8W1I;VXH
M4W1R:6YG(&1S3F%M92D@=&AR;W=S(%-13$5X8V5P=&EO;B![#0H@(" @1&%T
M85-O=7)C92!D<R ](&=E=$1A=&%3;W5R8V4H9'-.86UE*3L-"B @("!R971U
M<FX@9',N9V5T0V]N;F5C=&EO;[email protected]*("!]#0H-"B @<')I=F%T92!$871A
M4V]U<F-E(&=E=$1A=&%3;W5R8V4H4W1R:6YG(&1S3F%M92D@=&AR;W=S(%-1
M3$5X8V5P=&EO;B![#0H@(" @1&%T85-O=7)C92!D<R ](&YU;&P[#0H@(" @
M=')Y('L-"B @(" @($-O;G1E>'0@:6,@/2!N97<@26YI=&EA;$-O;G1E>'0H
M*3L-"B @(" @(&1S(#T@*$1A=&%3;W5R8V4I(&EC+FQO;VMU<"AD<TYA;64I
M.PT*(" @('T@8V%T8V@@*$YA;6EN9T5X8V5P=&EO;B!E*2![#0H@(" @("!E
M+G!R:6YT4W1A8VM4<F%[email protected]*(" @(" @=&AR;W<@;F5W(%-13$5X8V5P
M=&EO;BAE+F=E=$UE<W-A9V4H*2D[#0H@(" @?0T*(" @(')E='5R;B!D<SL-
)"B @?0T*?0T*
`
end
Similar Messages
-
How to trace session(3rd paty application) accessing oracle
Solaris 9
oracle 9i and 10g
I would like to know how to trace session which is 3rd party application currently running .
I need to collect statisctics for currently running session.
Thanks.
Message was edited by:
user539835See this thread:
Re: SQL_TRACE help to newbie in oracle
Search the forum and you will also see how to manually decode most of the trace file.
Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc. -
Session EJB REST/JSON annotations....?
We are building a highly graphical, javascript-heavy application presently and require access to session EJB's. Access with SOAP based web services will be too heavy for the browser as we have quite a lot of data being passed to and fro. We really need to exchange data with the EJB tier using REST based web services and JSON strings. Is there an easy way to do this in a similar manner to what can be achieved with JAX based SOAP Web Services using annotations in jDeveloper 11.1.1.2? ...this would be ideal.
If not then does anyone have any experience developing a similar architecture and know which libraries are the easiest to vertically integrate into the jDeveloper SessionEJB stack. We are using JPA entity beans underlying this and would like to keep that architecture for persistence.
Thanks in advance.Thanks for the feedback... interesting articles.
Did a bit of research and this approach seems to be the way to go for us although we cannot leverage the SOAP WS tier we have already: http://www.restlet.org/
What I am probably going to do is just write a RESTful service tier for the heavy parts of the application and bolt it down to the Entity Beans using JPQL. -
Hi!
I am currently trying to use Oracles XMLType with EJBs. Preferrably I would like to use CMP. Although the documentation http://e-docs.bea.com/wls/docs81/jdbc_drivers/oracle.html#1067224
says that XMLType is mapped to a CLOB, I get an error
ORA-00932: inconsistent datatypes: expected NUMBER got CLOB
when trying to update it. (I marked the bean as dbms-column-type OracleClob). If I do not mark it as OracleClob, I get an SQLException invalid type sqlType=2007 .
Is there another way to make XMLType work?
Thanks so much,
Hans-Peter Stoerr
PS: We are using Bea Weblogic Portal 8.1, but might migrate to 9. The driver is the oracle thin driver with oracle 9.2.Hi Brian,
Im not sure whats the issue with using DB Triggers. You could possibly have another
column(s) for created_by and updated_by and still use triggeres for the create_time
and update_time.
Inheritance would make it better if u have multiple tables which need the same
behaviour but the above solution maybe the easy one.
-Raj
"Brian Preston" <[email protected]> wrote:
>
Our DB has 4 'audit' columns : create_date, created_by, last_update_date,
last_updated_by.
We're currently not using ejbs, just J2SE, servlets & jsps, but I'm looking
into
using ejbs.
Is there any kind of design pattern for this? I've been searching the
newsgroups
about this. I can't use DB triggers because our application connects
to the DB
as the same user, regardless of the application user.
I'm trying to use inheritance as well, have a 'base' object that has
these audit
columns and have all the ejbs extend that base class.
Another issue is how would I trigger setting these columns? Do I have
to store
all the column values in ejbLoad and compare them in ejbStore? I've also
read
a little about the javax.ejb.SessionSynchronization interface, can I
use that?
Thanks,
Brian Preston -
Accessing Local Interface EJB from Web Container Oracle App Server 9.0.4
Hi,
I am developing a struts based small application, which calls a EJB which uses Local Interface from Struts ActionClass.
I am getting NameNotFoundException. The exact exception is s mentioned below.
05/03/29 16:15:49 javax.naming.NameNotFoundException: LoginRSL not found
The deployment descriptors are as mentioned below.
=============
ejb-jar.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<description>Session Bean ( Stateless )</description>
<display-name>LoginRSL</display-name>
<ejb-name>LoginRSL</ejb-name>
<local-home>loginApp.model.LoginRHome</local-home>
<local>loginApp.model.LoginL</local>
<ejb-class>loginApp.model.LoginRSL</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<relationships/>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>LoginRSL</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
orion-ejb-jar.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans 1.1 runtime//EN" "http://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtd">
<orion-ejb-jar>
<enterprise-beans>
<session-deployment name="LoginRSL"/>
</enterprise-beans>
</orion-ejb-jar>
I also tried adding following code to web.xml
web.xml
<ejb-local-ref>
<ejb-ref-name>LoginRSL</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>LoginRHome</local-home>
<local>LoginL</local>
<ejb-link>LoginRSL</ejb-link>
</ejb-local-ref>
It is quite evident that it is not able to lookup the JNDI name.
Can someone throw light on this? If someone has working sample of this, can you mail it to [email protected]?Nipun,
WebLogic and OC4J are not the same thing. That's like saying Oracle and SQL Server are the same thing -- or C++ and Java are the same thing.
I recall a posting to a forum (don't remember if it was this one), where the poster was complaining that some feature of the application server he had previously used, was not supported by OC4J. Turned out that the feature he was referring to, contradicted the J2EE specification -- which is why it wasn't available in OC4J. In other words, he didn't like the fact that OC4J was more compliant with the J2EE specification than his "other" application server. Go figure!
So, if you haven't already done so, I suggest you verify that this feature of WebLogic is something that complies with the J2EE specifications -- before expecting OC4J to support the same feature.
And if it's not clear, from the specifications, then every vendor is free to implement this feature (or not).
So if it turns out that WebLogic is a more appropriate application server for you -- then why not just stick with it (and forget the others)?
Good Luck,
Avi. -
What is the usual way of accessing Oracle by JSF with connection pooling?
I am writing to access Oracle by JSF with connection pooling.
EJB is too difficult for me.
What is the simple way of doing it?
thanksLeung,
I believe there should be some sample code available via the JavaServer Pages Samples Web page.
Good Luck,
Avi. -
Can CMT Session Bean call BMP Entity Bean in WebLogic 6.0?
Hi
Does anybody successfully use CMT Session Bean calling BMP +CMT Entity bean in
WebLogic6.0? I have the following problem.
Any idea will be appreciated.
--Winston
Let's say we have a Session bean SB, it uses container to manage the transaction.
A method of SB will call an Entity Bean EB which adopts bean-managed persistence.
Both SB and EB use CMT and all of their methods use "required" in the descriptor
file.
1. If the connection con.getAutoCommit() is true in the EB, then the transaction
within SB cannot be rolled back as the ejbCreate() has already commit into the
database.
2. On the other hand if Connecton of EB con.getAutoCommit() is false, then container
cannot successfully commit the transaction from SB's method, as EjbCreate and
EjbStore() in EB are likely using the different database connections, which causes
EbjStore() fail and the following error message will be sent to the Console:
============================================================
"<Jul 9, 2001 4:16:48 PM PDT> <Error> <EJB> <Exception during commit of transacti
on transaction=(IdHash=7738920,Name = [EJB TraderBeanImpl.buy()],Xid=105:5e6719a
ded42e332,Status=Rolled back. [Reason = weblogic.utils.NestedRuntimeException:
E
rror writing from beforeCompletion - with nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]],numRepliesOwedMe=0,numRepli
esOwedOthers=0,seconds since begin=0,seconds left=30,SCInfo[examplesServer]=(sta
te=rolledback),properties=({weblogic.transaction.name=[EJB TraderBeanImpl.buy()]
})): java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEnt
ityException: ejbStore: AccountBean (4003) not updated
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRunti
meUtils.java:57)
at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java:364)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManag
er.java:211)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(Serv
erSCInfo.java:511)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Se
rverSCInfo.java:78)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAn
dChain(ServerTransactionImpl.java:893)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(
ServerTransactionImpl.java:1229)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:168)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.utils.NestedRuntimeException: Error writing from beforeCompletion - wit
h nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManag
er.java:220)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(Serv
erSCInfo.java:511)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Se
rverSCInfo.java:78)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAn
dChain(ServerTransactionImpl.java:893)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(
ServerTransactionImpl.java:1229)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:168)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion
: sync = weblogic.ejb20.internal.TxManager$TxListener@356eb0
Error writing from beforeCompletion - with nested exception:
[weblogic.utils.NestedRuntimeException: Error writing from beforeCompletion -
wi
th nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1261)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:218)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>"
We did receive a 4.5.1 / 5.1 interoperability patch - but it wasn't quite 'seamless'.
We never tried to use it.
SOAP? Isn't that around 50 times slower than RMI?
Mike
"Gary Mui" <[email protected]> wrote:
We ran into this issue last fall and got some feedback from weblogic
support. They originally said that it could be done (as well as different
versions talking to one another via JMS) but it turned out that they
were
incorrect and ended up saying that it is not possible. Before 6.0 went
GA,
BEA said that there would be a interoperability patch to do this, but
I've
never seen nor heard of anything regarding it. As a workaround, we
implemented 4.5.1 / 6.0 communication via SOAP.
Mike Reiche wrote in message <3b1bcaec$[email protected]>...
I have the same question - and more. Last year we were told that wecould
not use
RMI (and ejbs) between 4.5.1 and 5.1. Which seems kinda weird becauseI've
heard
of people using WL ejbs from Tomcat. This issue has caused us to avoidusing
WL ejbs in any future development which has any chance of ever beingused
by any
app server (WL included) that is not under the direct control of thedata
center.
I've been trying to convince the Architecture team here that we canuse WL
EJBs
and we can call them from other app servers - but can't seem to getany
supporting
statement from BEA (maybe I haven't tried hard enough).
Anyway, a response from BEA would be appreciated.
- Mike
"Madhu K" <[email protected]> wrote:
Is it possible to call a (stateless session) bean deployed in weblogic
6.0
from a bean in weblogic 5.1? I have two versions of weblogic running
on two
different hosts and I have to call a bean that is running in 6.0 from
5.1.
Are there any limitations?
Appreciate any feedback/suggestions.
Thanks,
Madhu -
Mulitple databases handling in Session EJB
Can u get connections to two different database in one method of Session EJB.
I want to update two different databases probably one in Oracle and other in SQL server.
Any suggestions ??
Thanks.Writing two entity beans might not work.
here is the reason why.
If you start a transaction in your session bean and try to call 2 entity beans in the same transaction, then your entity beans cannot make a connection to different datasources.
Once a connection is opened to a datasource inside a transaction, you cannot open another connection to a different DataSource.
If you try to have different transactions in the two entity beans that you write then there is no way to maintain consistancy between the two DBs as update to one can fail while other succeeds.
The only way you can achieve what you are looking for is by using 2PC. (2 phased commit)
Beware, not all app servers support 2PC. (I know wls 6.1 does) not all drivers support 2PC, and not all resource managers support 2PC. So you'll have to read the documentation of your app server, driver, and databases before you can proceed.
regards,
Abhishek. -
Error during deployment of stateless session EJB using EJB 3.0
having trouble deploying a stateless session bean to app server 10.1.3.1 oc4j container.
deceided to go through oracles demo: How-To Develop a Stateless Session EJB using EJB 3.0 (http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-ejb30-stateless-ejb/doc/how-to-ejb30-stateless-ejb.html).
the demo encounters the same issue. so i assume there is something wrong with the app server set up, and not my source code.
here is the deployment log:
[Jul 1, 2009 11:59:25 AM] Application Deployer for test_ws STARTS.
[Jul 1, 2009 11:59:25 AM] Copy the archive to C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\test_ws.ear
[Jul 1, 2009 11:59:25 AM] Initialize C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\test_ws.ear begins...
[Jul 1, 2009 11:59:25 AM] Unpacking test_ws.ear
[Jul 1, 2009 11:59:25 AM] Done unpacking test_ws.ear
[Jul 1, 2009 11:59:25 AM] Initialize C:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\test_ws.ear ends...
[Jul 1, 2009 11:59:25 AM] Starting application : test_ws
[Jul 1, 2009 11:59:25 AM] Initializing ClassLoader(s)
[Jul 1, 2009 11:59:25 AM] Initializing EJB container
[Jul 1, 2009 11:59:25 AM] Loading connector(s)
[Jul 1, 2009 11:59:26 AM] Starting up resource adapters
[Jul 1, 2009 11:59:26 AM] Processing EJB module: ejb30ws-ejb.jar
[Jul 1, 2009 11:59:26 AM] application : test_ws is in failed state
[Jul 1, 2009 11:59:26 AM] Operation failed with error: java.lang.NoClassDefFoundError
the opmn log reveals the same error, but no more detail.
any ideas???
/stuckI am having exactly the same issue. Was this issue resolved? If so, please share the resolution and if not can someone please suggest what could be wrong.
Thanks -
EJB 3.0 accessing legacy RMI object
Hello All
I need to access a legacy RMI object from a stateless session bean. This is not technically a problem as it can be done from the EJB's constructor like so
public MyEJB ()
throws NotBoundException, MalformedURLException, RemoteException
this.rmiObject = (TheRMIInterface) Naming.lookup ("//host/ThatRMIObject");
}The above solution doesn't feel right. Mainly, host changes depending on whether the EJB is deployed on our testing or production environment. At the least, I'd like to be able to query the container to get the relevant value of the string, but I've a feeling that perhaps the container should be injecting the RMI object into the EJB.
If anyone can shed any light on either of the possible approaches suggested above (or any other approach), I'd be most grateful.
Thanks in advance
JOkay, the first approach goes like this
@Stateless
public class MyEJBean
implements MyEJRemote
@Resource (name = "my-rmi-object-url")
private String rmiObjectURL;
private RMIObject rmiObject;
public MyEJBean ()
throws NotBoundException, MalformedURLException, RemoteException
this.rmiObject = (RMIInterface) Naming.lookup (this.rmiObjectURL);
}and the accompanying deployment descriptor (ejb-jar.xml -- without the surrounding ejb-jar tags) is
<enterprise-beans>
<session>
<ejb-name>MyEJBean</ejb-name>
<env-entry>
<env-entry-name>my-rmi-object-url</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>//host/RMIObject</env-entry-value>
</env-entry>
</session>
</enterprise-beans>which'd still have to altered for the differing deployment environments, but feels slightly better. It'll do for now. Maybe I'll try injecting the object later. -
Java Heap Error when using Stateless Session Timer Bean deployed in Oracle
Hi,
Am getting following Java Heap Error when using Stateless Session Timer Bean deployed in Oracle 10g AS R3 (Oracle Containers for J2EE 10g (10.1.3.0.0) (build 060119.1546.05277) ):
06/08/02 14:58:43 javax.ejb.EJBException: java.lang.OutOfMemoryError: Java heap space
06/08/02 14:58:43 at com.evermind.server.ejb.EJBUtils.getLocalUserException(EJBUtils.java:304)
06/08/02 14:58:43 at com.evermind.server.ejb.interceptor.system.AbstractTxInterceptor.convertAndHandleMethodException(AbstractTxInterceptor.java:67)
06/08/02 14:58:43 at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:45)
06/08/02 14:58:43 at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:69)
06/08/02 14:58:43 at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:86)
06/08/02 14:58:43 at com.evermind.server.ejb.StatelessSessionEJBHome.invokeTimer(StatelessSessionEJBHome.java:71)
06/08/02 14:58:43 at com.evermind.server.ejb.EJBContainer.invokeTimer(EJBContainer.java:1624)
06/08/02 14:58:43 at oracle.ias.container.scheduler.TimerTask.runBeanTimer(TimerTask.java:92)
06/08/02 14:58:43 at oracle.ias.container.scheduler.TimerTask.run(TimerTask.java:184)
06/08/02 14:58:43 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819)
06/08/02 14:58:43 at java.lang.Thread.run(Thread.java:595)
06/08/02 14:58:43 Caused by: java.lang.OutOfMemoryError: Java heap space
I had tried using -Xms / -Xmx options (upto 1 GB).
The trace of exception gets delayed (from being displayed on the console) as the memory size is increased; but after sometime it starts getting displayed on the console.
Even though this exception is displayed on the console, the Timer Bean continues to execute upto sometime before it finally crashes!
If anyone has encountered such problem; would appreciate if you could share the solution.
Regards, VidyadharHi guys, I have the same problem. I have an application EAR file with two modules (EJB and WAR starting in this order). The application can schedule a process via EJB timer. In this case restarting the server I receive the error above. If I change the modules start order --> WAR - EJB the server start correctly, but the application scheduler fails (the persistency is not working) with this error:
07/10/09 10:30:54 FINISSIMO: TimerTask.runBeanTimer java.lang.NullPointerException; nested exception is: java.lang.NullPointerExceptionjavax.ejb.TransactionRolledbackLocalException: java.lang.NullPointerException; nested exception is: java.lang.NullPointerException
java.lang.NullPointerException
at java.util.ListResourceBundle.handleGetObject(ListResourceBundle.java:107)
at java.util.ResourceBundle.getObject(ResourceBundle.java:319)
at java.util.ResourceBundle.getString(ResourceBundle.java:285)
at java.util.logging.Formatter.formatMessage(Formatter.java:108)
at oracle.j2ee.util.TraceLogFormatter.format(TraceLogger.java:124)
at oracle.j2ee.util.TraceLogger$TraceLoggerHandler.publish(TraceLogger.java:105)
at java.util.logging.Logger.log(Logger.java:428)
at java.util.logging.Logger.doLog(Logger.java:450)
at java.util.logging.Logger.log(Logger.java:539)
at oracle.ias.container.timer.TimerEntry.readObjFromBytes(TimerEntry.java:308)
at oracle.ias.container.timer.TimerEntry.getInfo(TimerEntry.java:107)
at oracle.ias.container.timer.Timer.getInfo(Timer.java:367)
at oracle.ias.container.timer.EJBTimerImpl.getInfo(EJBTimerImpl.java:89)
at com.finantix.foundation.integration.ejbtimer.EJBTimerServiceExecutorBean.ejbTimeout(EJBTimerServiceExecutorBean.java:42)
at com.evermind.server.ejb.interceptor.joinpoint.EJBTimeoutJoinPoint.invoke(EJBTimeoutJoinPoint.java:20)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxBeanManagedInterceptor.invoke(TxBeanManagedInterceptor.java:53)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at com.evermind.server.ejb.StatelessSessionEJBHome.invokeTimer(StatelessSessionEJBHome.java:38)
at com.evermind.server.ejb.EJBContainer.invokeTimer(EJBContainer.java:1714)
at oracle.ias.container.scheduler.TimerTask.runBeanTimer(TimerTask.java:106)
at oracle.ias.container.scheduler.TimerTask.run(TimerTask.java:220)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
javax.ejb.TransactionRolledbackLocalException: java.lang.NullPointerException; nested exception is: java.lang.NullPointerException
at com.evermind.server.ejb.EJBUtils.getLocalUserException(EJBUtils.java:309)
at com.evermind.server.ejb.interceptor.system.AbstractTxInterceptor.convertAndHandleMethodException(AbstractTxInterceptor.java:73)
at com.evermind.server.ejb.interceptor.system.TxBeanManagedInterceptor.invoke(TxBeanManagedInterceptor.java:55)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at com.evermind.server.ejb.StatelessSessionEJBHome.invokeTimer(StatelessSessionEJBHome.java:38)
at com.evermind.server.ejb.EJBContainer.invokeTimer(EJBContainer.java:1714)
at oracle.ias.container.scheduler.TimerTask.runBeanTimer(TimerTask.java:106)
at oracle.ias.container.scheduler.TimerTask.run(TimerTask.java:220)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at java.util.ListResourceBundle.handleGetObject(ListResourceBundle.java:107)
at java.util.ResourceBundle.getObject(ResourceBundle.java:319)
at java.util.ResourceBundle.getString(ResourceBundle.java:285)
at java.util.logging.Formatter.formatMessage(Formatter.java:108)
at oracle.j2ee.util.TraceLogFormatter.format(TraceLogger.java:124)
at oracle.j2ee.util.TraceLogger$TraceLoggerHandler.publish(TraceLogger.java:105)
at java.util.logging.Logger.log(Logger.java:428)
at java.util.logging.Logger.doLog(Logger.java:450)
at java.util.logging.Logger.log(Logger.java:539)
at oracle.ias.container.timer.TimerEntry.readObjFromBytes(TimerEntry.java:308)
at oracle.ias.container.timer.TimerEntry.getInfo(TimerEntry.java:107)
at oracle.ias.container.timer.Timer.getInfo(Timer.java:367)
at oracle.ias.container.timer.EJBTimerImpl.getInfo(EJBTimerImpl.java:89)
at com.finantix.foundation.integration.ejbtimer.EJBTimerServiceExecutorBean.ejbTimeout(EJBTimerServiceExecutorBean.java:42)
at com.evermind.server.ejb.interceptor.joinpoint.EJBTimeoutJoinPoint.invoke(EJBTimeoutJoinPoint.java:20)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxBeanManagedInterceptor.invoke(TxBeanManagedInterceptor.java:53)
... 9 more
Any idea?
Thx Auro -
Error when accessing Oracle BPEL console
The following error message shows up when access oracle BPEL console. Any advice to resolve this error? Thanks a lot in advance!
***************************************************************************** Oracle BPEL Server version 10.1.3.1.0 Build: 0 Build time: Mon Oct 09 08:44:49 PDT 2006 Build type: release Source tag: PCBPEL_10.1.3.1.0_GENERIC_061009.0802
Exception Message:
[java.lang.NoClassDefFoundError] org/apache/log4j/Category
Exception Trace:
java.lang.NoClassDefFoundError: org/apache/log4j/Category at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328) at java.lang.Class.getConstructor0(Class.java:2640) at java.lang.Class.getConstructor(Class.java:1629) at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410) at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529) at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370) at org.collaxa.thirdparty.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37) at org.collaxa.thirdparty.apache.axis.encoding.TypeMappingImpl.(TypeMappingImpl.java:68) at com.collaxa.cube.engine.deployment.TypeSoapRegistry.registerHeaderTypes(TypeSoapRegistry.java:251) at com.collaxa.cube.engine.deployment.TypeSoapRegistry.load(TypeSoapRegistry.java:79) at com.collaxa.cube.engine.core.TypeRegistry.load(TypeRegistry.java:126) at com.collaxa.cube.engine.CubeEngine.__load(CubeEngine.java:613) at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:474) at com.collaxa.cube.admin.ServerManager.loadDomain(ServerManager.java:1111) at com.collaxa.cube.admin.ServerManager.loadAllDomains(ServerManager.java:924) at com.collaxa.cube.admin.ServerManager.init(ServerManager.java:111) at com.collaxa.cube.ejb.impl.ServerBean.init(ServerBean.java:254) 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:585) at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35) at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119) at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52) at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119) at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at com.evermind.server.ThreadState.runAs(ThreadState.java:622) at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34) at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119) at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43) at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119) at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52) at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119) at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55) at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87) at ServerBean_RemoteProxy_4bin6i8.init(Unknown Source) at com.collaxa.cube.admin.CXLoaderServlet.init(CXLoaderServlet.java:60) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2361) at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4810) at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4734) at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4922) at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1134) at com.evermind.server.http.HttpApplication.(HttpApplication.java:738) at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:414) at com.evermind.server.Application.getHttpApplication(Application.java:545) at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1990) at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.(HttpSite.java:1909) at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:645) at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290) at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270) at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177) at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2450) at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:998) at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131) at java.lang.Thread.run(Thread.java:595)ru able to login to the other applications on your App server ... viz.
Oracle App Server Console, ESB Console, Worklist App ... etc -
Stateless session EJBs & "idempotent"
We need to declare a method as "idempotent" to take care of failure inside a
method call, For that to work the code inside should written in such way so
that repeated call to the same method should not give us diffrent result.
But why can't weblogic implement a partial rollback( Just like Oracle's save
point rollback, where you can rollback to certain point within a
transaction).
Because some times it is not possible to code in such a way to get the same
result every time(Incase of fail over)
Thanks
,Stateless session EJBs
Stateless session EJBs can have both a cluster-aware home stub and a
replica-aware EJBObject stub. By default, WebLogic Server provides failover
services for EJB method calls, but only if a failure occurs between method
calls. For example, failover is automatically supported if there is a
failure after a method completes, or if the method fails to connect to a
server. When failures occur while an EJB method is in progress, WebLogic
Server does not automatically failover from one server to another.
This default behavior ensures that database updates within an EJB method are
not "duplicated" due to a failover scenario. For example, if a client calls
a method which increments a value in a datastore and WebLogic Server fails
over to another server before the method completes, the datastore would be
updated twice for the client's single method call.
If methods are written in such a way that repeated calls to the same method
do not cause duplicate updates, the method is said to be "idempotent." For
idempotent methods, WebLogic Server provides the
stateless-bean-methods-are-idempotent deployment property. If you set this
property to "true" in weblogic-ejb-jar.xml, WebLogic Server assumes that the
method is idempotent and will provide failover services for the EJB method,
even if a failure occurs during a method call.
Vishal,
I wouldn't think you would have a problem doing RMI communication from a Entity
Bean - - for instance, when a WLS instance 'hosts' an EJB that communicates to
a different WLS instance that 'hosts' an EJB that communication occurs via RMI.
Chuck Nelson
Developer Relations Engineer
BEA Technical Support -
Web Service-Client for stateful session EJB container
Do you know, how to write a Web Service-Client to connect a stateful session EJB container?
A stateful session EJB container ist created with Web Logic 8.1.
Message was edited by n.t.c at Dec 14, 2004 6:09 AMPedja thanks for reply.
I still dont understand what is wrong with my example.
The first peace of the code i wrote (getting the reference to the remote interface object) works pretty well, and even more it is produced automatically by JDeveloper, so why we cant get a reference to the local interface object the same way?
Certanly we should use the local interface for getting access to the resource functioning under the same local jvm and i think it doesnt metter wich app server we really use wls or oas or others
Thanks. Alex. -
Stateless Session EJB hangs using URLConnection but WLS doesn't clean up
Hi
We have a stateless session EJB running under WLS 5.1 with service
pack 10 on Solaris.
The bean calls a remote HTTP server using the java.net.URLConnection
class and forwards the response to the EJB client. The bean is largely
working fine but some threads hang waiting on the HTTP response. Debug
statements, which are written immediately after the response has been
read and the connection has been closed, do not appear in our log for
the hung threads. The WebLogic Console displays these threads as "in
use" and a "netstat -an" displays the tcp connections as ESTABLISHED.
However, the access logs of the remote Apache server show the HTTP
connections of the threads in question completed successfully with
HTTP code 200. The Apache server is using keep-alive connections.
Some EJB threads are still waiting for something it seems.
Has anyody else experienced this when using URLConnection from
stateless session EJBs under WLS?
The second problem is why doesn't WLS time these threads out after
trans-timeout-seconds (we're using the default of 300 seconds)? The
WLS log shows no error messages relating to this problem.
I'm grateful for any info offered.
Thanks in advance
SteveIf you suspect that WLS protocol handler is at fault (and quite often it is),
one thing to try is (if you use Sun's JVM) to use Sun's HTTP protocol handler
instead of WLS (the most common symptom is when code which makes HTTP requests
works fine outside of WebLogic and you have problems getting it to work inside
WebLogic) :
replace
URL url = new URL("http://...");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
with
URL url = new URL(null, "http://...", new sun.net.www.protocol.http.Handler());
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
You will have to edit weblogic.policy to allow your code to specify protocol
handler.
Also note that transaction timeout is only checked on method boundaries, or
when your code attempts to do something with the database - it is not going to
interrupt thread which is waiting for HTTP response.
Steve Lock <[email protected]> wrote:
Hi
Thanks for the info. The remote HTTP server's access log shows that
the requests were successfully processed. Doesn't this mean that the
connection is then closed? I know the web server is using keep-alive
connections but I thought this was transparent to the client...?
Also why doesn't WLS remove the hung threads?
Steve
"Ignacio G. Dupont" <[email protected]> wrote in message news:<[email protected]>...
We have had a problem like yours with Weblogic 6.1 SP2 on Linux
The problem is sun's implementation of the HTTP connections doesn't have a
timeout, so if the other peer doesn't close the connection your threads will
be "locked" on the connection.
We have found searching the web that the Jakarta project has a package
called Jakarta commons that implements HTTP connections with an
setSoTimeout(int timeout) method so you can open the connections with your
desired timeout. You have to download the code from the CVS as the released
version doesn't support the timedout sockets yet.
When support for the JDK 1.4 version will be announced by Bea you could use
one of its new features that will allow you to pass arguments to the JVM to
specify the maximum socket connection stablising timeout and the max
inactivity on the socket too.
Hope it helps you.
Dimitri
Maybe you are looking for
-
[SOLVED]php, upload file more then 980mb
Hi! I have a problem: I want to upload file about 2G. file uploads in /tmp while its size not more then ~980mb, after that he deleted and ~1.2G go to /dev/null httpd was restart after I changed in php.ini post_max_size = 30G upload_max_filesize = 30G
-
Reports in portlet region (Portal)
Hello! I have a report that have a link to another report and is integrated to Portal, but when the second report is called it was displayed in all the page and i want that is displayed in the portlet region, what i have to do to display the second r
-
File Browser doesn't show files
I am trying to pull some of my pictures from my Media Hub but can't seem to do it. All of the pictures show in the Home view but when I go the the File Browser...no files show up in the folders. The folders are on the left but when I click to open an
-
Illustrator CS4 will not install
Win 7 64 bit, Photoshop CS4 installed. Try to install Illustrator CS4 and runs into a problem updating Photoshop and stops the install.
-
How to delete Product Specific Transportation Lanes?
I'm trying to delete a product specific transportation lane (like you would do in /SAPAPO/SCC_TL1) but can't find an appropriate BAPI to help me do this. I see BAPI_TRLSRVAPS_DELMULTI but that seems to delete the entire Transportation Lane instead o