OC4J Application Server - InstantiationException
Error : java.lang.InstantiationException: Error initializing ejb-modules: message-destination-mapping tag with missing 'location' attribute
HI All,
Hope someone can help me with the following error. I've got a ear file which deploys 100% correct, and the application can run successfully after deploying. But if I stop and start the container, then i get the following exception, the container starts up but the application does not start successfully.
Oracle Container start-up exception:
09/05/11 09:17:15 Start process
Listening for transport dt_socket at address: 8688
0.000: [GC [PSYoungGen: 43776K->4394K(51008K)] 43776K->4394K(517056K), 0.0290830 secs]
3.295: [GC [PSYoungGen: 48170K->7220K(51008K)] 48170K->8371K(517056K), 0.0499300 secs]
6.817: [GC [PSYoungGen: 50996K->7218K(51008K)] 52147K->13636K(517056K), 0.0504670 secs]
09/05/11 09:17:28 WARNING: Application.setConfig Application: stf-7.0.1 is in failed state as initialization failed.
java.lang.InstantiationException: Error initializing ejb-modules: message-destination-mapping tag with missing 'location' attribute
09/05/11 09:17:29 Oracle Containers for J2EE 10g (10.1.3.2.0) initialized
29.062: [GC [PSYoungGen: 50994K->7226K(51008K)] 57412K->15785K(517056K), 0.0436860 secs]
32.675: [GC [PSYoungGen: 51002K->7228K(50880K)] 59561K->16729K(516928K), 0.0346460 secs]
We use jdk1.5, Ejb3 and Oracle 10.1.3
We use message driven beans, for which we create an ejb-jar.xml that looks as follow:
Start
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<!-- OC4J EJB-JAR.XML for UDSWSConServices -->
<display-name>vss-ejb</display-name>
<enterprise-beans>
<message-driven>
<display-name>VSSAdvancedQueueBatchBeanMDB</display-name>
<ejb-name>VSSAdvancedQueueBatchBean</ejb-name>
<ejb-class>
za.globed.varsite.hebs.bsi.services.ejb.VSSAdvancedQueueBatchBean
</ejb-class>
<transaction-type>Bean</transaction-type>
<message-destination-type>
javax.jms.Queue
</message-destination-type>
<message-destination-link>
jms/batchQueue
</message-destination-link>
<activation-config>
<activation-config-property>
<activation-config-property-name>
acknowledgeMode
</activation-config-property-name>
<activation-config-property-value>
Auto-acknowledge
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
destinationType
</activation-config-property-name>
<activation-config-property-value>
javax.jms.Queue
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
subscriptionDurability
</activation-config-property-name>
<activation-config-property-value>
NonDurable
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
messageSelector
</activation-config-property-name>
<activation-config-property-value>
Destination =
'za.globed.varsite.hebs.bsi.services.VSSAdvancedQueueBatchBean'
</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>VSSAdvancedQueueBatchBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Supports</trans-attribute>
</container-transaction>
<message-destination>
<display-name>
Destination for VSSAdvancedQueueBatchBean
</display-name>
<message-destination-name>
jms/batchQueue
</message-destination-name>
</message-destination>
</assembly-descriptor>
</ejb-jar>
-- end --
Any help or suggestions would be much appreciated.
Thanks
Nina
I would advise you to use the latest version - 10.1.3.5 - i remember some issues with 10.1.3.4.
For certifications see here:
http://www.oracle.com/technetwork/middleware/ias/downloads/oracle-soa-certification-101310-097492.html
You have two options to bypass the check:
* Use ignore : runinstaller -ignoresysprereqs
http://onlineappsdba.com/index.php/2008/11/24/upgrade-oracle-application-server-to-10134-10g-r3-patchset-4/
* Or change in the installers file that lists the allowed versions - you can search for the numbers listed in your error dialog
Similar Messages
-
Error in running oc4j application server
Hi,
i have problem when i want to run my web project using JDeveloper10.1.3.3.0.4157. i got this error code:
09/08/2011 10:49:19 ص com.evermind.server.XMLDataSourcesConfig parseRootNode
INFO: Legacy datasource detected...attempting to convert to new syntax.
09/08/2011 10:49:22 ص oracle.j2ee.util.LoggingUtils logAndReturnMessage
SEVERE: حدث استثناء أثناء بدء خادم HTTP: Unable to establish loopback connection
11/08/09 10:49:22 Error initializing server: Unable to start HTTP-Server. default-web-site configuartion may not be valid.
11/08/09 10:49:23 Fatal error: server exiting
Process exited with exit code 1.any help... please
-
Accessing remove EJBs while debugging using the Embedded Application Server
I'm trying to configure to debug a multi-tier application (servlets + EJBs) where a servlet accesses EJBs set up on a second OC4J application server. I've set up rmi.xml in the embedded application server to reference my second application server by adding the line.
<server host="127.0.0.1" username="admin" port="23791" password="password"/>
When I run the embedded application server it seems to hang, with the stack in
the following state:
OC4J main()
OC4J launchOC4JCommandLine()
ApplicationServer launchCommandLine()
Thread join()
Thread join(0)
Object wait(0)
The following exception is generated on the second application server
C:\Program Files\Oracle\JDeveloper9i\j2ee\home>java -jar oc4j.jar
Oracle9iAS (9.0.2.0.0) Containers for J2EE initialized
java.lang.NullPointerException
java.lang.ClassLoader com.evermind.server.rmi.RMIInputStream.getClassLoa
der()
java.lang.Class com.evermind.server.rmi.RMIInputStream.resolveClass(java
.io.ObjectStreamClass)
java.io.ObjectStreamClass java.io.ObjectInputStream.inputClassDescriptor
java.lang.Object java.io.ObjectInputStream.readObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject()
int java.io.ObjectInputStream.inputObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject()
void com.evermind.server.rmi.RMIConnection.handleBindObject()
void com.evermind.server.rmi.RMIConnection.run()
void com.evermind.util.ThreadPoolThread.run()
Has anyone got any ideas what is happening here and how I can fix it?
Thanks,
Mark.This is an OC4J question. Try posting your message to the Products > Application Server > J2EE forum. Someone there should be able to answer your question.
-
Accessing remote EJBs while debugging using the Embedded Application Server
I'm trying to configure to debug a multi-tier application (servlets + EJBs) where a servlet accesses EJBs set up on a second OC4J application server. I've set up rmi.xml in the embedded application server to reference my second application server by adding the line.
<server host="127.0.0.1" username="admin" port="23791" password="password"/>
When I run the embedded application server it seems to hang, with the stack in
the following state:
OC4J main()
OC4J launchOC4JCommandLine()
ApplicationServer launchCommandLine()
Thread join()
Thread join(0)
Object wait(0)
The following exception is generated on the second application server
C:\Program Files\Oracle\JDeveloper9i\j2ee\home>java -jar oc4j.jar
Oracle9iAS (9.0.2.0.0) Containers for J2EE initialized
java.lang.NullPointerException
java.lang.ClassLoader com.evermind.server.rmi.RMIInputStream.getClassLoa
der()
java.lang.Class com.evermind.server.rmi.RMIInputStream.resolveClass(java
.io.ObjectStreamClass)
java.io.ObjectStreamClass java.io.ObjectInputStream.inputClassDescriptor
java.lang.Object java.io.ObjectInputStream.readObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject()
int java.io.ObjectInputStream.inputObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject(boolean)
java.lang.Object java.io.ObjectInputStream.readObject()
void com.evermind.server.rmi.RMIConnection.handleBindObject()
void com.evermind.server.rmi.RMIConnection.run()
void com.evermind.util.ThreadPoolThread.run()
Has anyone got any ideas what is happening here and how I can fix it?
Thanks,
Mark.This is an OC4J question. Try posting your message to the Products > Application Server > J2EE forum. Someone there should be able to answer your question.
-
Oracle AS adapter 10g R3 installation on clusters Application server
Hi,
I want documentations or steps for installing oracle AS adpater 10R3 on oc4j application server(clustered).
Existing components:
Oracle AS server in clustered mode
Oracle SOA Suite 10.1.3.5
Over this I want to install oracle AS adapter.I have few queries
1.Do I have to install AS adapter separately on each node of the cluster?
2. Is there any specific steps that need to be followed why installing AS adapter in clustered environment.
Thanks in advance
Regards,
Tharanath1.Do I have to install AS adapter separately on each node of the cluster?
Ans:Yes
2. Is there any specific steps that need to be followed why installing AS adapter in clustered environment.
Ans:No -
Issue connect to a webservice deployed in an application server from rem
I have prepared ESB Webservice and I deployed it to my OC4J Application Server present as part of my SOA Suite Installed to my local System.When I tried to Create proxy for this webservice from other remote system in the same network I am facing problem.I cannot connect to the URL (http://10.177.217.224:8888/JavaWebService-WebService-context-root/HelloWebService.wsdl) from the remote system it is not connecting.
Giving exception Gateway Timed Out...
I think this is because of some security restrictions to be changed in some configuration files in OC4J Server configuration file.
Can anybody help me solving this issue.Another straightforward check is to have adopted a naming convention in your JNDI tree. For example, all EJBS are under **/ejb. Obviously this doesn't guarantee that your application server won't have whacked something under there too - that's where the instanceof check will be required.
Another alternative is to make calls to the appropriate MBeans in your code - effectively doing what the JMX console does. Accessing MBeans is pretty straightforward - typically you just look up the MBean Server in JNDI and locate all relevant MBeans using a query. The nature of the query will depend on the application server you're using.
Hope this helps. -
[ エラー? ] Application Server Control画面が真っ白
はじめまして。
Oracle Application Server の超初心者ですが、
よろしくお願いいたします。
< 環境 >
・OS Windows Server 2003 R2SP2
・Oracle DB Oracle11.2.0.10
◆行った手順
・Oracle SOA Suite 10g (10.1.3.x) x86: 570 MB Disk1
ダウンロード&インストール
・拡張インストール を選択
・J2EEサーバーとWebサーバー を選択
・「インストールオプションにて「管理OC4Jインスタンスとして構成」 チェック済
◆Application Server Control画面を立ち上げようとすると、
エラーメッセージも何も表示されなく、ただ真っ白な画面のまま。
・Oracle Process Manager は正常に起動しています。
・JAVA はダウンロード(インストール)済になります
◆OSのドライバが不足している為に、表示されないとかでしょうか?
全く原因が分からず、困っています。
何かご存知の方がいらっしゃいましたら、ご返答賜りたく
よろしくお願いいたします。IEのセキュリティ設定の問題でした。
セキュリティを緩くしたら、解決しました。 -
How can I create a new OC4J Instance in Application Server Control
Hi All,
Is there any way to create a new OC4J Instance in Application Server Control of installed SOA Suite, so that it gets listed in Cluster Topology page.
Thanks
KrrishHi Eric,
Thanks for the reply.
it is pretty simple..which I didnt try earlier..
Thanks
Krrish -
Oracle Application Server 10.1.3.3.0 OC4J Restarting
Oracle ADF application is deployed to the AS from JDeveolper 10.1.3.3.0 and runs fine initially but after continual use the OC4J returns a runtime exception and restarts.
1. This instance is not associated with an infrastructure but it is on a server with 10.1.2.2.0 Infra and middle tier instances.
2.The error occurs while using a web app. It all works fine at first, can nav pages, view records from the db just fine. Then after say 15mins the page returns Internal Server Error message at which time I check the Oracle app server ctrl to find the error below. That error is displayed in the actual app server ctrl page.
After a few minutes I can refresh the web app page and it returns to the home page working fine again until the next exception and restart. Sometimes as a result of this issue the server will not OC4J will not restart and the page will stop working altogether. At this point I cannot ever restart the OC4J. I have to Restart the entire server machine.
An error has occurred.
Caught exception calling invoke on oc4j:name=Singleton,type=OpmnConfig
Exception thrown in RequiredModelMBean while trying to invoke operation invoke
Object reference no longer valid (disconnected)
Object reference no longer valid (disconnected)
Hide Additional Trace Information
oracle.j2ee.admin.jmx.exception.config.ConfigMBeanException:
Caught exception calling invoke on oc4j:name=Singleton,type=OpmnConfig
at oracle.oc4j.admin.management.farm.util.OpmnProxyUtil.invoke(OpmnProxyUtil.java:204)
at oracle.oc4j.admin.management.farm.util.OpmnProxyUtil.invokeSingle(OpmnProxyUtil.java:129)
at oracle.oc4j.admin.management.farm.util.OpmnProxyUtil.invokeSingle(OpmnProxyUtil.java:99)
at oracle.oc4j.admin.management.farm.mbeans.OpmnConfigAgr.getNotificationServerAttrs(OpmnConfigAgr.java:200)
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.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at oracle.oc4j.admin.jmx.server.state.LocalizationFilterMBeanServer.invoke(LocalizationFilterMBeanServer.java:579)
at oracle.oc4j.admin.management.farm.util.OpmnProxyUtil.invoke(OpmnProxyUtil.java:202) ... 50 more
Caused by: java.io.IOException: Object reference no longer valid (disconnected)
at oracle.oc4j.admin.jmx.client.RemoteMBeanServer.invoke(RemoteMBeanServer.java:820)
at oracle.oc4j.admin.management.farm.mbeans.JVMAgr.invoke(JVMAgr.java:1481)
at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36)
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:239)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1071) ... 58
more Caused by: com.evermind.server.rmi.RMIConnectionException: Object reference no longer valid (disconnected)
at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:60)
at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
at com.evermind.server.ejb.StatefulSessionRemoteInvocationHandler.invoke(StatefulSessionRemoteInvocationHandler.java:38)
at __Proxy8.invoke(Unknown Source) at oracle.oc4j.admin.jmx.client.MBeanServerEjbRemoteSynchronizer.invoke(MBeanServerEjbRemoteSynchronizer.java:144)
at oracle.oc4j.admin.jmx.client.RemoteMBeanServer.invoke(RemoteMBeanServer.java:816) ... 68 moreGreetings,
First I would recommend turning up your logging level to FINEST to glean more informatin regarding the error that is occurring. Please post these data along with any related Messaging service configuration information. It is possible that two services are attempting to make the same connection and it is causing one or the other to fail. You might also review the information in your opmn config file. Does the 10.1.2.2 instance remain running during the OC4j restart?
OPMN Configuration:
10.1.20 How to Specify Ports for State Replication in OPMN
When you deploy an application utilizing state replication in a managed Oracle Application Server, OPMN dynamically allocates the ports that are used to propagate state across the cluster. You can restrict this allocation to a range of ports for an application that has peer-to-peer replication enabled. Specifying ports for state replication might be necessary in an installation with a firewall or network that uses a well-defined port range.
To specify a range of ports for peer-to-peer state replication
Add a <port> element to an OC4J instance configuration in the opmn.xml file.
Specify the name of an application that has peer-to-peer replication enabled as the value of the id attribute of the <port> element.
Specify a range of ports in the range attribute of the <port> element.
For example, for deployment of an application named rac-web that is set up for peer-to-peer replication, the line labeled <port id=rac-web .../> in the following OC4J instance configuration tells OPMN to use ports 15213 to 15214 for state replication:
<port id="default-web-site" range="80-100" protocol="http"/>
<port id="rmi" range="12401-12500"/>
<port id="rmis" range="12701-12800"/>
<port id="jms" range="12601-12700"/>
<port id="rac-web" range="15213-15214"/>
For more information about state replication, see Chapter 9, "Application Clustering in OC4J," in the Oracle Containers for J2EE Configuration and Administration Guide.Quoted from:
http://download.oracle.com/docs/cd/B32110_01/relnotes.1013/b32199/oc4j.htm#CEGICDEF-Michael -
Oracle 10g - Creating a new Application Server using standalone OC4J 10g
I have some issues in creating a new app. server using standalone oc4j 10g 10.1.3 instance. After I created the app. server instance, I tested the connection and it says connection refused. I used the userid as oc4jadmin and the password as welcome. I am getting a message connection refused. For connection, I used the default hostname "localhost" and I didn't mention anything in the URL path.
Thanks Steve..
Here is what I am trying to do.. I want to create a new app server instance (i.e.) stand alone oc4j server, where I can deploy my web service and run a test.
Oracle JDeveloper 10g:
Under Connection Navigator, Application Server --
1) Right click to 'Create New Application Server Connection'
2) Connection type as 'Standalone OC4J 10 g 10.1.3',
3) Username ==> oc4jadmin, Password ==>welcome, checked the Deploy password.
4) Hostname: localhost RMI Port: 23791
URL path: <<blank>>
5) Test Connection ==> getting a error message...
Error while getting remote MBeanServer for url: ormi://localhost:23791/default:
Error reading application-client descriptor: Error communicating with server: Connection refused: connect; nested exception is:
javax.naming.CommunicationException: Connection refused: connect [Root exception is java.net.ConnectException: Connection refused: connect]
Any input you can provide would be of great help. -
Error in Accessing EJB in OC4J embedded in Oracle Application server 10G
Hello All,
I am getting below error while accessing my EJB deployed in Application server
oracle.j2ee.clustering.ClusteringMessages warningInOpmnGetServers
Error in obtaining server list from OPMN on host 10.184.74.197:6204. Please verify that OPMN is running.
My Provider URL is
opmn:ormi://10.184.74.197:6007:home/S
Here 10.184.74.197 is the host name and 6007 is the OPMN requst Port and home is my OC4J instance
and S is the application name..
I have tired Googling... i cant even get the possible reason for the plm. Any help is greatly appreciated!!
Please Help me..Hello Younis,
Please notice that it is impossible to diagnose an issue from a browser error. The internal error (HTTP-500 status code) is also recorded in your log files on the server. Please check the event_log in $ORACLE_HOME/webcache/logs and the error_log in $ORACLE_HOME/Apache/Apache/logs for further diagnostic information regarding the internal error.
Thanks,
EJ -
Integrate OC4J 10.0.x in Oracle Application Server 10g
Ok, i have a Oracle Application Server 10g Enterprise Instance including Infrastructure on a Linux-Server. Its OC4J is a 9.0.4 OC4J following the J2EE 1.3 standard.
So now Oracles offers a newer 10.0.x Developer Betarelease of OC4J wich will be in Production soon and happily enough this release implements J2EE 1.4 with real JAX-RPC Web Service Support (I need Web Services with Attachments!).
My question: How to integrate a 10.0.x-Version of OC4J in an Oracle Application Server 10g Enterprise (v 9.0.x) Installation ??? Whitepapers? Documentations? Internetlinks would help alot !
Thanks and keep the good work alive, oracle rules!!!
bye from germany, marcMarc,
I don't have an answer for you (sorry), but actually, OC4J stand-alone is a complete application server -- unless Oracle have hacked it so much as to intentionally turn it into a not complete application server (it wouldn't surprise me ;-) Perhaps OC4J stand-alone will be sufficient for your requirements?
In case you are unaware, OC4J is derived from the "OrionServer". Unfortunately, their Web site is down temporarily, but these other sites may be enlightening:
http://www.orionsupport.com
http://kb.atlassian.com
Good Luck,
Avi. -
Oracle BIEE installation issue: Application Server default OC4J name error
Hi all,
I am installing OBIEE 10.1.3.3.2 windows 32bit version on windows 2003 sp2. Before the installation I have installed the JDK 5 and Application Server 10.1.3.1.0(J2EE Server and Web Server) on the same server according to the pre-install section in the OBIEE installation guide.
When I install OBIEE (advanced installation), I got the error when I specify the Oracle Application server location:
Please specify a valid Oracle Application Server 10g installation location. A valid Oracle Application Server 10g installation must have the default OC4J instance named home and that home OC4J instance must be enabled.
When I install the Application Server 10.1.3.1.0, I have change the default OC4J name to "oc4j-soa", I think this is the root reason I got the error. I have tried to create another OC4J instance named "home", but failed coz the name is used for another directory.
Then can I have another way to continue the installation? Why OBIEE installer have this strange constrain while not any words about this issue in the installation guide (coz I follow the each steps in the guild before I take action)? I have search some threads and the only information is to install a simple installation, but it would create another application server..... and the simple installation type is not what I want.
Can anybody give me some hint or information about this issue? otherwise I have to purge and reinstall the server...... Thanks
ScottReinstalling the App Server and naming oc4j instance to be called "home" resolves the issue but this is an odd requirement. I have an OC4J instance already running and it is named something else. Is there any other alternative to make this work?
Swapan.
PS. I can always create a new oc4j instance named "home" but this is wasting of server resources. -
Hi,
I am migrating my ejb application from weblogic to oracle 9i application server.What changes are needed to be made in code and what configuration changes are required.
In my application i use a couple of session beans wherin a session bean calls the method of the other session bean which acceses the database.I am using a jdbc thin driver for the database connection. is it possible for a session bean to call a method of another session bean which access the database??This concept works well in weblogic where the current application is running.
The problem is that while migrating the application to the orion server, it gives an OrionCMTException ...
memory leak..etc.
Could any one clarify.
Thanks in advance!!!Hi Avi and Harrison,
Cease Fire avi!!!!.First of all let me clear the issue of posting the same problem twice.Well, when i mentioned the problem the first time , i found the title session bean deployment was not right and few people would look into it as it was a common problem so i thought it would be appropriate if i mentioned the title correctly , so i posted the query again with the change in title.
Now coming to the answer for ur questions.
The platform used is MS Windows NT.
The (OC4J) version is 1.0.2.2.1.
I am not using JDeveloper.
The database is oracle 8i and i am using the thin driver.
The beans to be deployed are stateless session beans.
The client involved is a web client i.e a jsp application.
The first session bean is as follows.
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import java.sql.Timestamp;
import java.rmi.RemoteException;
import java.util.Date;
import javax.ejb.*;
import javax.naming.*;
import initcontext;
import PrintMessage;
import JB_B2B_ERROR_PARSER;
* @stereotype SessionBean
* @homeInterface DB_UTILITYHome
* @remoteInterface DB_UTILITYRemote
public class DB_UTILITY implements SessionBean
private SessionContext context;
private ResultSet rs = null;
private Statement stmt = null;
private Connection con = null;
private PrintMessage print = null;
public DB_UTILITY()
rs = null;
stmt = null;
con = null;
print = new PrintMessage();
public Connection getConnection()throws RemoteException
InitialContext initctx = null;
Connection con = null;
try
initctx = initcontext.getContext();
javax.sql.DataSource ds =
(javax.sql.DataSource)initctx.lookup("java:comp/env/jdbc/ePool");
con = ds.getConnection();
//(javax.sql.DataSource)initctx.lookup("java:comp/env/jdbc/ePool");
catch(NamingException namingexception)
print.printUserMessage("DB_UTILITY", (new
Date()).toString(), "", namingexception);
throw new
EpoolException(JB_B2B_ERROR_PARSER.getErrorMessage("AppError",
"Epool-10001", "DB_UTILITY.getConnection"));
catch(SQLException sqlexception)
print.printUserMessage("DB_UTILITY", (new
Date()).toString(), "", sqlexception);
throw new
epoolException(JB_B2B_ERROR_PARSER.getErrorMessage("DBError",
JB_B2B_ERROR_PARSER.getSQLCode(sqlexception),
"DB_UTILITY.getConnection"));
catch(Exception exception)
print.printUserMessage("DB_UTILITY", (new
Date()).toString(), "", exception);
throw new
epoolException(JB_B2B_ERROR_PARSER.getErrorMessage("EpoolError",
"Epool10005", "DB_UTILITY.getConnection"));
return con;
public String getDate()throws RemoteException
String Date=null;
try
con=getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("SELECT
TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MI:SS') FROM DUAL");
while(rs.next())
Date=rs.getString(1);
stmt.close();
con.close();
catch(SQLException sqlexception)
print.printUserMessage("DB_UTILITY", (new
Date()).toString(), "", sqlexception);
throw new
EpoolException(JB_B2B_ERROR_PARSER.getErrorMessage("DBError",
JB_B2B_ERROR_PARSER.getSQLCode(sqlexception), "DB_UTILITY.getDate"));
catch(Exception exception)
print.printUserMessage("DB_UTILITY", (new
Date()).toString(), "", exception);
throw new
EpoolException(JB_B2B_ERROR_PARSER.getErrorMessage("epoolError",
"Epool10005", "DB_UTILITY.getDate"));
finally
try
if(con != null && !con.isClosed())
con.close();
catch(Exception exception2)
stmt = null;
con = null;
return Date;
public void setSessionContext(SessionContext context)
this.context = context;
public void ejbActivate()
public void ejbPassivate()
public void ejbCreate()
public void ejbRemove()
Also the xml files are as follows.
web.xml
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<!-- A friendly name for this web application, this name can be used in visual development environments, for instance -->
<display-name>AddressBook Web Application</display-name>
<!-- A human-readable description of this web application -->
<description>Web module that contains an HTML welcome page, and 4 JSP's.</description>
<!-- The file(s) to show when no file is specified, i.e. only the directory is specified. -->
<welcome-file-list>
<welcome-file>B2B_COUNTRY_CODE.jsp</welcome-file>
</welcome-file-list>
<ejb-ref>
<ejb-ref-name>SB_B2B_COUNTRY_CODEHome</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>SB_B2B_COUNTRY_CODEHome</home
<remote>SB_B2B_COUNTRY_CODERemote</remote>
</ejb-ref></web-app>
Application.xml
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
<display-name>Country Code</display-name>
<module>
<ejb>epool_CountryCode-ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>epool_CountryCode-web.war</web-uri>
<context-root>/epool_CountryCode-web</context-root>
</web>
</module>
</application>
ejb-jar.xml:
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
<ejb-jar>
<description>epool_CountryCode</description>
<enterprise-beans>
<session>
<display-name>CountryCode Session
Bean</display-name>
<ejb-name>SB_B2B_COUNTRY_CODERemote</ejb-name>
<home>SB_B2B_COUNTRY_CODEHome</home>
<remote>SB_B2B_COUNTRY_CODERemote</remote>
<ejb-class>SB_B2B_COUNTRY_CODE</ejb-class>
<session-type>Stateless</session-type>
<ejb-ref>
<description>EJB Epool DButility</description>
<ejb-ref-name>DB_UTILITYRemote</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>DB_UTILITYHome</home>
<remote>DB_UTILITYRemote</remote>
</ejb-ref>
<ejb-ref>
<description>EJB Entity Bean</description>
<ejb-ref-name>EB_B2B_COUNTRY_CODERemote</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>EB_B2B_COUNTRY_CODEHome</home>
<remote>EB_B2B_COUNTRY_CODERemote</remote>
</ejb-ref>
</session>
<session>
<display-name>DbUtility Session Bean</display-name>
<ejb-name>DB_UTILITYRemote</ejb-name>
<home>DB_UTILITYHome</home>
<remote>DB_UTILITYRemote</remote>
<ejb-class>DB_UTILITY</ejb-class>
<session-type>Stateless</session-type>
</session>
<entity>
<ejb-name>EB_B2B_COUNTRY_CODERemote</ejb-name>
<home>EB_B2B_COUNTRY_CODEHome</home>
<remote>EB_B2B_COUNTRY_CODERemote</remote>
<ejb-class>EB_B2B_COUNTRY_CODE</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>EB_B2B_COUNTRY_CODEPK</prim-key-class>
<reentrant>False</reentrant>
<cmp-field>
<field-name>country_code_desc</field-name>
</cmp-field>
<cmp-field>
<field-name>phone_format_flag</field-name>
</cmp-field>
<cmp-field>
<field-name>country_code</field-name>
</cmp-field>
<cmp-field>
<field-name>active_date</field-name>
</cmp-field>
<cmp-field>
<field-name>date_created</field-name>
</cmp-field>
<cmp-field>
<field-name>active_flag</field-name>
</cmp-field>
<cmp-field>
<field-name>country_phone_code</field-name>
</cmp-field>
<cmp-field>
<field-name>country_tax_percent</field-name>
</cmp-field>
<cmp-field>
<field-name>sort_order</field-name>
</cmp-field>
<cmp-field>
<field-name>date_modified</field-name>
</cmp-field>
<cmp-field>
<field-name>user_created</field-name>
</cmp-field>
<cmp-field>
<field-name>user_modified</field-name>
</cmp-field>
<resource-ref>
<description></description>
<res-ref-name>jdbc/ePool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>EB_B2B_COUNTRY_CODERemote</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
<security-role>
<description>Users</description>
<role-name>users</role-name>
</security-role>
</assembly-descriptor>
</ejb-jar>
The session bean which uses the above session bean is as follows.
import javax.ejb.SessionContext;
import javax.ejb.SessionBean;
import java.sql.*;
import javax.naming.Context;
import java.sql.Timestamp;
import java.util.Vector;
import initcontext;
import DB_UTILITYHome;
import DB_UTILITYRemote;
import EB_B2B_COUNTRY_CODEHome;
import EB_B2B_COUNTRY_CODERemote;
import EB_B2B_COUNTRY_CODEPK;
* @stereotype SessionBean
* @homeInterface SB_B2B_COUNTRY_CODEHome
* @remoteInterface SB_B2B_COUNTRY_CODERemote
public class SB_B2B_COUNTRY_CODE implements SessionBean
private SessionContext context;
* Sets the context of the bean
* @param context The Bean's Context
public Vector selectCountryCode(String query,String
countquery, String pagenos) throws Exception
Context ctx = initcontext.getContext();
Connection con=null;
Vector records=new Vector();
int pageno=Integer.parseInt(pagenos);
int min=(pageno-1)*10;
int max=pageno*10;
int counter=0;
boolean recordsfound=false;
try
DB_UTILITYHome home =
(DB_UTILITYHome)ctx.lookup("java:comp/env/DB_UTILITYRemote");
DB_UTILITYRemote remote =
(DB_UTILITYRemote)home.create();
con=remote.getConnection();
Statement stmt = con.createStatement();
ResultSet rscount =
stmt.executeQuery(countquery);
while(rscount.next())
int temp=rscount.getInt(1);
int pagecount=temp;
pagecount=pagecount/10;
if((temp%10)>0)
pagecount=pagecount+1;
records.addElement(""+pagecount);
ResultSet rs = stmt.executeQuery(query);
while(rs.next())
counter++;
if(counter>min && counter<=max)
String row[]=new String[8];
recordsfound=true;
row[0]=rs.getString(1);
row[1]=rs.getString(2);
row[2]=rs.getString(3);
row[3]=rs.getString(4);
row[4]=rs.getString(5);
row[5]=rs.getString(6);
row[6]=rs.getString(7);
row[7]=rs.getString(8);
records.addElement(row);
con.close();
catch(Exception e)
System.out.println("Error in selecting Country
Code "+e);
throw new Exception("Error in selecting Country
Code "+e);
return(records);
public void insertCountryCode(String country_code, String
country_code_desc, String country_phone_code, String
phone_format_flag,String active_flag, String sort_order,String
country_tax_percent)throws Exception
Context ctx = initcontext.getContext();
Double Sort_Order=null;
Double cntry_tax_prct=null;
if(sort_order!=null && sort_order.length()>0)
Sort_Order=new Double(sort_order);
if(country_tax_percent!=null &&
country_tax_percent.length()>0)
cntry_tax_prct=new Double(country_tax_percent);
String user_created=null;
Timestamp date_created=null;
Timestamp active_date=null;
String user_modified=null;
Timestamp date_modified=null;
try
DB_UTILITYHome dbhome =
(DB_UTILITYHome)ctx.lookup("java:comp/env/DB_UTILITYRemote");
DB_UTILITYRemote dbremote =
(DB_UTILITYRemote)dbhome.create();
user_created=dbremote.getUser();
date_created=Timestamp.valueOf(dbremote.getDate());
active_date=date_created;
EB_B2B_COUNTRY_CODEHome home =
(EB_B2B_COUNTRY_CODEHome)ctx.lookup("java:comp/env/EB_B2B_COUNTRY_CODER
emote");
EB_B2B_COUNTRY_CODERemote remote =
(EB_B2B_COUNTRY_CODERemote)home.create(country_code, country_code_desc,
country_phone_code,active_flag, phone_format_flag,user_created,
date_created, active_date, Sort_Order, user_modified,
date_modified,cntry_tax_prct);
catch(Exception e)
System.out.println("Error in Creating COUNTRY
Code "+e);
throw new Exception("Error in Creating COUNTRY
Code "+e);
public void setSessionContext(SessionContext context)
this.context = context;
public void ejbActivate()
public void ejbPassivate()
public void ejbCreate()
public void ejbRemove()
The jsp client which acces the beans is as follows.
<BODY >
<%@ page language="java" %>
<%@ page import="java.sql.*" %>
<%@ page import="initcontext" %>
<%@ page import = "java.util.*" %>
<%@ page import="DB_UTILITYHome"%>
<%@ page import="DB_UTILITYRemote"%>
<%@ page import="javax.naming.*"%>
<%Connection con=null; %>
<script src="search_getvalues.js">
</script>
<form name=frm1>
<%! int intCount,intI,intRowCount,intJ;
String strtname=new String();
String strhidden=new String("txthdn");
Statement st;
ResultSet rs;
ResultSetMetaData rmeta;
....%>
<%
try
Context ctx = initcontext.getContext();
DB_UTILITYHome dbhome =
(DB_UTILITYHome)ctx.lookup("java:comp/env/DB_UTILITYRemote");
DB_UTILITYRemote dbremote = (DB_UTILITYRemote)dbhome.create();
con=dbremote.getConnection();
st=con.createStatement();
rs=st.executeQuery(strsqlquery);
rmeta=rs.getMetaData();
intCount=rmeta.getColumnCount();
....... %>
</form>
</BODY>
</HTML>
The resulting exception generated is as follows:
D:\oc4j\j2ee\home>java -jar orion.jar
Auto-unpacking
D:\oc4j\j2ee\home\applications\epool_CountryCode\build\epool_CountryCod
e.ear... done.
Auto-unpacking
D:\oc4j\j2ee\home\applications\epool_CountryCode\build\epool_CountryCod
e\epool_CountryCode-web.war... done.
Auto-deploying epool_CountryCode (New server version detected)...
Auto-deploying epool_CountryCode-ejb.jar (No previous deployment
found)... done.
Error deploying
file:/D:/oc4j/j2ee/home/demo/messagelogger/messagelogger-ejb.jar homes:
No javax.jms.Destination found a
t the specified destination-location (jms/theTopic) for
MessageDrivenBean com.evermind.logger.MessageLogger
Oracle9iAS (1.0.2.2.1) Containers for J2EE initialized
Auto-deploying epool countryCode example (New server version
detected)...
************************1
************************2
COUNT QUERY :SELECT COUNT(COUNTRY_CODE) FROM BAP_COUNTRY_CODE
QUERY :SELECT
COUNTRY_CODE,COUNTRY_CODE_DESC,COUNTRY_PHONE_CODE,PHONE_FORMAT_FLAG,COU
NTRY_TAX_PERCENT ,SORT_ORDER,ACTIVE
FLAG,ACTIVEDATE FROM BAP_COUNTRY_CODE order by COUNTRY_CODE
Error in selecting Country Code java.rmi.RemoteException: Error
(de-)serializing object: com.evermind.sql.OrionCMTConnec
tion; nested exception is:
java.io.NotSerializableException:
com.evermind.sql.OrionCMTConnection
JB:Error in selecting country cd java.lang.Exception: Error in
selecting Country Code java.rmi.RemoteException: Error (d
e-)serializing object: com.evermind.sql.OrionCMTConnection; nested
exception is:
java.io.NotSerializableException:
com.evermind.sql.OrionCMTConnection
Error in Selecting Records
OrionCMTConnection not closed, check your code!
LogicalDriverManagerXAConnection not closed, check your code!
(Use -Djdbc.connection.debug=true to find out where the leaked
connection was created)
Auto-unpacking
D:\oc4j\j2ee\home\applications\epool_CountryCode\build\epool_CountryCod
e.ear... Error unpacking: IO Error:
The system cannot find the path specified
Error updating application epool_CountryCode: Unable to find/read
assembly info for D:\oc4j\j2ee\home\applications\epool_C
ountryCode\build\epool_CountryCode (META-INF/application.xml)
But if the DBUTILITY session bean is changed to a simple bean and accessed the code works fine and i am able to retrieve the data.Is the problem there because u one session bean cannot access a database connection method from another one or could it be because of the driver???
I hope i am clear.Please revert back in case any more references are needed.
Thanks in advance!!!!!! -
Commit working in embedded OC4J but not in Application Server 10g
Hi all
i am creating an application using Jdeveloper 9051+adf+uix.
here in a form i have a Create,Delete button and a commit button. after creating or deleting a row , i press commit button and it works fine in embedded OC4J.
But after deploying this application on Oracle Application Server 10g , create and delete buttons are working (means data in form is getting submitted) but commit button is not working (commit button is enabled but data is not getting commited in the table.) after pressing the commit button the form is coming back to its previous position and the commit button is yet enabled. if i presses it second time then button goes disabled but data is not commited at all.
Please provide me solution to this problem.
ThanksHi Brenden
Thanks for reply
in the application log file it is showing the following exception-
08/07/01 16:51:29 mail_utility_app: Servlet error
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.xml.parser.v2.XMLDOMException, msg=cannot add a node belonging
to a different document
at oracle.jbo.server.Serializer.passivate(Serializer.java:189)
at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:290)
at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:277)
at oracle.jbo.server.ApplicationModuleImpl.passivateStateInternal(ApplicationModuleImpl.java:4587)
at oracle.jbo.server.ApplicationModuleImpl.passivateState(ApplicationModuleImpl.java:4479)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:6818)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3886)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doManagedCheckin(ApplicationPoolImpl.java:2131)
at oracle.jbo.common.ampool.ApplicationPoolImpl.releaseApplicationModule(ApplicationPoolImpl.java:1211)
at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:717)
at oracle.jbo.common.ampool.SessionCookieImpl.releaseApplicationModule(SessionCookieImpl.java:634)
at oracle.adf.model.bc4j.DCJboDataControl.releaseApplicationModule(DCJboDataControl.java:1340)
at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:1198)
at oracle.adf.model.servlet.ADFBindingFilter.invokeEndRequest(ADFBindingFilter.java:289)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:238)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
i have only one entity and one view object. there is no different document as it is shown in the exception.
Thanks
Maybe you are looking for
-
I just picked up a brand new K7T Turbo Limited Edition (non-RAID) and moved my 1.2GHz "C" revision Athon (133MHz) and PC133x256MBxCL2 (Atlas Precision) over to it from a Shuttle AK12A (Also a KT133A chipset board). The board refuses to boot with J17
-
Service PO creation Using BAPI_PO_CREATE1
Hi Friends, Can any body tell me how to create a service PO based on the existing service Agreement by using BAPI_PO_CREATE1 with sample code. Thanks, Kamlesh
-
Hi, before the printout I modified the quantity of the purchase order. Now system shows both the old quantity and the new quantity values in the printout. I don't need this information in printout, how to modify the customizing so that system will no
-
Height of text object / database field
Hello, is it possible to size the height of each field in the detail section to the height of the detail section via formula or setting? Regards
-
I need some help becuase i dont know how to make that multithreads reads one file dividing this file. I need to make this because iam reading a big txt file with 3 millions of lines and then i have to put in a database, and without threaths take a lo