Cooooooooool! It works. Thanks a lot
On Monday 09 June 2003 12:10, Nicholas wrote: > I went back to reproducs this, and the process was > this using > Windows XP Professional > JBoss jboss-3.2.0_tomcat-4.1.24 > Oracle Enterprise Version 9.2.0.1.0 > > 1. LoadJava the entire JBoss Client Jar collection > into SCOTT. > <project name="OracleLoadJavaExample" default="all" > basedir="."> > <taskdef name="OracleLoadJava" > classname="org.apache.tools.ant.taskdefs.optional.oraclejava.OracleLoadJava >"/> </target> > <target name="all"> > <patternset id="all.jars"> > <include name="**/*.jar"/> > </patternset> > <OracleLoadJava oci="on" user="SCOTT/[EMAIL PROTECTED]" > resolve="on" debug="on" force="no" noverify="on" > verbose="on" noserverside="on" schema="scott" > synonym="on" time="on"> > <fileset dir="C:/jboss-3.2.0_tomcat-4.1.24/client"> > <patternset refid="all.jars"/> > </fileset> > </OracleLoadJava> > </target> > </project> > > 2. Recompile all the invalid classes. To do this, > generate a script with this SQL logged in as SCOTT: > > select 'ALTER JAVA CLASS SCOTT."' || object_name || '" > COMPILE;' from USER_OBJECTS where object_type in > ('JAVA CLASS', 'JAVA SOURCE') and status = 'INVALID' > > Run the script that is generated. > > 3. Grant the following rights to SCOTT: > > dbms_java.grant_permission( 'SCOTT', > 'SYS:java.net.SocketPermission', '<IP ADDRESS>:1024-', > 'listen,resolve' ); > dbms_java.grant_permission( 'SCOTT', > 'SYS:java.net.SocketPermission', '<IP ADDRESS>:3495', > 'connect,accept,resolve' ); > dbms_java.grant_permission( > 'SCOTT','SYS:java.lang.RuntimePermission','org.jboss.security.SecurityAssoc >iation.getPrincipalInfo', '' ); > dbms_java.grant_permission( > 'SCOTT','SYS:java.io.SerializablePermission', > 'enableSubstitution', '' ); > dbms_java.grant_permission( 'SCOTT', > 'SYS:java.net.SocketPermission','<IP ADDRESS>:8093', > 'connect,resolve' ); > > There may be some extra ones in there. I was also > trying to communicate with some JMS processes, but > generally, Oracle will tell you exactly which > permissions you need in the error message if you fail > to have one. > > 3. Load EJB. Again, I used the Ant task and loaded the > JAR I deployed to JBoss and a simple test client of a > simple EJB: > > EJB: > > import javax.ejb.*; > public class StringLibBean implements SessionBean { > SessionContext sessionContext; > public void ejbCreate() throws CreateException { > } > public void ejbRemove() { > } > public void ejbActivate() { > } > public void ejbPassivate() { > } > public void setSessionContext(SessionContext > sessionContext) { > this.sessionContext = sessionContext; > } > public String reverse(java.lang.String a) { > return new StringBuffer(a).reverse().toString(); > } > } > > > Client Code: > > public static String reverse(String ejbName, String > message) { > System.out.println("reverse(" + ejbName + "," + > message + ");"); > try { > if(ctx==null) { > ctx = getJBossContext(); > System.out.println("Aha! Connnected To :" + > ctx.getEnvironment().get(ctx.PROVIDER_URL)); > } > if(home == null) { > System.out.println("Looking Up:" + ejbName); > Object obj = ctx.lookup(ejbName); > System.out.println("Found Object Ref:" + obj); > home = (StringLibHome)obj; > System.out.println("Cast to Home"); > } > remote = home.create(); > String tmp = remote.reverse(message); > System.out.println("StringLib.reverse Result:" + > tmp); > return tmp; > } > catch (Exception ex) { > System.err.println("Exception:" + ex); > ex.printStackTrace(); > return null; > } > } > public static Context getJBossContext() throws > Exception { > Properties p = new Properties(); > p.put(Context.PROVIDER_URL, "localhost:1099"); > > p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFact >ory"); return new InitialContext(p); > } > > > 4. Recompiled invalid Java Classes again. > > 5. Created test SQL Script (testreverse.sql): > > connect scott/[EMAIL PROTECTED] > SET SERVEROUTPUT ON > DECLARE > AA VARCHAR2(30) := 'NULL'; > BEGIN > dbms_java.set_output(10000); > AA := REVERSE('StringLib', 'Calling JBoss From > PLSQL'); > dbms_output.put_line('Reversed ='|| AA); > > END; > / > exit > / > > > 6. Created test command file (reverse.cmd): > > @echo off > cls > sqlplus /NOLOG @testreverse.sql > > 7. Ran the command file: > > C:\test>reverse > > SQL*Plus: Release 9.2.0.1.0 - Production on Mon Jun 9 > 06:07:03 2003 > > Copyright (c) 1982, 2002, Oracle Corporation. All > rights reserved. > > Connected. > reverse(StringLib,Calling JBoss From PLSQL); > Aha! Connnected To :localhost:1099 > Looking Up:StringLib > Found Object Ref:StringLibHome > Cast to Home > StringLib.reverse Result:LQSLP morF ssoBJ gnillaC > Reversed =LQSLP morF ssoBJ gnillaC > > PL/SQL procedure successfully completed. > > Disconnected from Oracle9i Enterprise Edition Release > 9.2.0.1.0 - Production > With the Partitioning, OLAP and Oracle Data Mining > options > JServer Release 9.2.0.1.0 - Production > > > > I found Oracle to be a little unstable when testing > this, but once it is loaded and all the classes are > fully compiled in Oracle, it is pretty snappy. > > //Nicholas > > --- Guy Rouillier <[EMAIL PROTECTED]> wrote: > > Nicholas and Stephano, I've tried to get this > > working numerous times in > > the past, but I'm still not there. You can find my > > previous posts on > > this by searching the archives. > > > > Nicholas, I can load the JBoss classes into the > > Oracle JVM using > > loadjava. But whenever I try to run the simplest > > EJB invocation, I get > > all kinds of errors. Have you successfully invoked > > a method on an EJB > > running under JBoss from within an Oracle stored > > procedure? If so, I > > would very much like details on how you did this. > > Would make a great > > HOWTO for this group. Thanks. > > > > Nicholas wrote: > > > Stefano; > > > > > > I have had some luck loading classes using a > > > > custom > > > > > Ant task. It is really just a wrapper for > > > > LoadJava > > > > > but easier to use if you are Ant inclined. It > > > > looks > > > > > like this: > > > <patternset id="oracle.load.classes"> > > > <include name="jbossall-client.jar"/> > > > </patternset> > > > <target name="LoadJBossToOracle"> > > > <OracleLoadJava oci="on" > > > > user="SCOTT/[EMAIL PROTECTED]" > > > > > resolve="on" debug="on" force="on" noverify="on" > > > verbose="on" noserverside="on" schema="scott" > > > synonym="on" time="on"> > > > <fileset > > > > dir="C:/jboss-3.2.0_tomcat-4.1.24/client"> > > > > > <patternset refid="oracle.load.classes"/> > > > </fileset> > > > <grant name="scott"/> > > > </OracleLoadJava> > > > </target> > > > > > > The keys are the following: > > > > > > 1. Defer resolution until the second pass. (set > > > resolve="on") > > > 2. Recompile all classes when you are done. You > > > > can > > > > > generate a script to do this as follows: > > > > > > select 'ALTER JAVA CLASS <USER NAME>."' || > > > > object_name > > > > > || '" COMPILE;' from ALL_OBJECTS where object_type > > > > in > > > > > ('JAVA CLASS', 'JAVA SOURCE') and OWNER = '<USER > > > NAME>' > > > > > > Run the output as a SQL script. It will take quite > > > > a > > > > > long time....... > > > > > > Anyways, email me off line and I'll send you the > > > > Ant > > > > > tasks, examples and doc. > > > > > > //Nicholas > > > > > > > > > --- Stefano Maestri <[EMAIL PROTECTED]> > > > > > > wrote: > > >>We are trying to write a java Stored procedure for > > >>oracle that call a session > > >>bean. We are experiencing some troble because when > > >>we set the InitialContext > > >>we get an error because > > >>org.jnp.interfaces.NamingContextFactory is not > > >>present in Aurora. We tryied to load it (extracted > > >>from jbossall-client.jar), > > >>but Oracle failed to resolve that class. We tryied > > >>also to load all > > >>jbossall-client.jar with a lot of resolving error. > > >>Ideas? Domeone had already did something like > > > > that. > > > > >>We are using Jboss-3.2.1 > > >>for the bean (and for the jabossall-client.jar) > > > > and > > > > >>Oracle 9.2 on HP-UX for > > >>the DB. > > >>Thanks a lot for the attention. > > >> > > >>P.S.: We had not also javax.ejb in Aurora, but it > > >>load correctly. > > >> > > >>-- > > >>--------------- all work and no play makes Jack a > > >>dull boy --------------- > > >>bye Stefano > > >> [EMAIL PROTECTED] > > >> www.javalinux.it > > >> MSN messanger: [EMAIL PROTECTED] > > >> ICQ uin: 122192578 > > >> Jabber: canezen > > >> Yahoo MSN: canezen > > >> #jedit IRC channel as <maeste> > > ------------------------------------------------------- > > > >>This SF.net email is sponsored by: Etnus, makers > > > > of > > > > >>TotalView, The best > > >>thread debugger on the planet. Designed with > > > > thread > > > > >>debugging features > > >>you've never dreamed of, try TotalView 6 free at > > >>www.etnus.com. > > >>_______________________________________________ > > >>JBoss-user mailing list > > >>[EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/jboss-user > > > > ===== > > > Nicholas Whitehead > > > Home: (973) 377 9335 > > > Cell: (201) 615 2716 > > > [EMAIL PROTECTED] > > > Get Your News From The Crowbar: > > > > http://crowbar.dnsalias.com:443/crowbar/ > > ------------------------------------------------------- > > > > This SF.net email is sponsored by: Etnus, makers > > > > of TotalView, The best > > > > > thread debugger on the planet. Designed with > > > > thread debugging features > > > > > you've never dreamed of, try TotalView 6 free at > > > > www.etnus.com. > > > > > _______________________________________________ > > > JBoss-user mailing list > > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/jboss-user > > > -- > > Guy Rouillier > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Etnus, makers of > > TotalView, The best > > thread debugger on the planet. Designed with thread > > debugging features > > you've never dreamed of, try TotalView 6 free at > > www.etnus.com. > > _______________________________________________ > > JBoss-user mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/jboss-user > > > ===== > Nicholas Whitehead > Home: (973) 377 9335 > Cell: (201) 615 2716 > [EMAIL PROTECTED] > Get Your News From The Crowbar: http://crowbar.dnsalias.com:443/crowbar/ > > > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The best > thread debugger on the planet. Designed with thread debugging features > you've never dreamed of, try TotalView 6 free at www.etnus.com. > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user -- --------------- all work and no play makes Jack a dull boy --------------- bye Stefano [EMAIL PROTECTED] www.javalinux.it MSN messanger: [EMAIL PROTECTED] ICQ uin: 122192578 Jabber: canezen Yahoo MSN: canezen #jedit IRC channel as <maeste> ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The best thread debugger on the planet. Designed with thread debugging features you've never dreamed of, try TotalView 6 free at www.etnus.com. _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user