Ssi in OC4J applications
Hi,
I've been trying to get ssi to work in my OC4J application. But it doesn't.
The ssi servlet is there and it appears
to have the mapping /*.shtml
Thanks for any hints you can give.
/Per
Found the file by doing a system search. It wasn't where it
was supposed to be. All is working now.
Similar Messages
-
When i run report through OC4J Application i get a exception message
When i run report through OC4J Application i get a exception message saying Server returning invalid xml and the exception number is JBO -29000. The Reports Server is installed on machine having IP 10.191.99.254.
Below is the exception message:
(oracle.jbo.JboException) JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: java.io.IOException, msg=Server returned HTTP response code: 500 for URL: http://10.191.99.254:8888/reports/rwservlet/showjobidnull
Anybody Please help me out with this issue.....because I am really fed up with this problem....want some urgent help.....
One possible workaround which I could make out is there needs change to be made in the .rdf files in Report Builder and then inside the User Parameters we change the Initial Value to * from % because the Reports Server encodes every value as %Initial_Value% and hence if the initial value for the parameter is % then it does not get a valid value and hence it returns as an invalid xml
But unfortunately it seems this workaround does not work.Please help as soon as possible.Hi,
you said that some changes were made in the .xml files but i had said that all the files present in Reports Developer or Reports Builder are .rdf files and I had made changes in the .rdf files for this articular report and then compiled it thereitself and then ran a paper layout of the report but the report did not comprise any data.
There was sufficient data also to populate the report. So this may not be a database issue. Please help if you can ASAP. -
OC4J application availability control
Can someone please suggest a simple way to make a OC4J application temporarily unavailable for users, so that any request to it returns a "Application not available - try later" page?
Thanks,
PereThere is no formal way to do this , but can use the following:
1) You can a dummy application with HTML/JSP for this message
2) When you want to make your application unvailable, bind the context root of your apps to the web module of your dummy application.
Hope this helps ..
regards
Debu -
Deploying an OC4J Application fails
We have created a new OC4J container and are getting errors when trying to deploy a OC4J Application.
We are running 9iAS 9.0.2.2 and are using OEM to do the deployment.
After selecting our .ear file we get no Web Modules on the 'URL Mappings for Web Modules' step (number 3 of 8), should one be found if .ear file is okay ?
After getting to the end of the steps and clicking deploy we get the following error:
>>>>>>>>>>
Deployment failed: Nested exception Root Cause: Error loading archive: Unknown assembly tag in file:/db001/app/oracle/product/9iAS9020_IFS/j2ee/OC4J_Ereg/applications/ereg/: <web-module>; nested exception is: java.lang.InstantiationException: Error loading archive: Unknown assembly tag in file:/db001/app/oracle/product/9iAS9020_IFS/j2ee/OC4J_Ereg/applications/ereg/: <web-module>. Error loading archive: Unknown assembly tag in file:/db001/app/oracle/product/9iAS9020_IFS/j2ee/OC4J_Ereg/applications/ereg/: <web-module>; nested exception is: java.lang.InstantiationException: Error loading archive: Unknown assembly tag in file:/db001/app/oracle/product/9iAS9020_IFS/j2ee/OC4J_Ereg/applications/ereg/: <web-module>
>>>>>>>>>>
The application.wml file in the .ear file is
>>>>>>>>>>
<?xml version="1.0" ?>
<!DOCTYPE orion-application (View Source for full doctype...)>
- <!--
The global application config that is the parent of all the other
applications in this server.
-->
- <orion-application autocreate-tables="true" autodelete-tables="false" treat-zero-as-null="true">
<web-module id="defaultWebApp" path="../default-web-app" />
<persistence path="../persistence" />
- <!--
Path to the libraries that are installed on this server.
These will accesible for the servlets, EJBs etc
-->
<library path="../lib" />
<principals path="./principals.xml" />
- <log>
<file path="/db001/app/ereg/log/global-application.log" />
</log>
<data-sources path="./data-sources.xml" />
- <mail-session location="mail/MailSession" smtp-host="localhost">
<property name="mail.transport.protocol" value="smtp" />
<property name="mail.smtp.from" value="[email protected]" />
</mail-session>
- <namespace-access>
- <read-access>
- <namespace-resource root="">
- <security-role-mapping name="<jndi-user-role>">
<group name="users" />
</security-role-mapping>
</namespace-resource>
</read-access>
- <write-access>
- <namespace-resource root="">
- <security-role-mapping name="<jndi-user-role>">
<group name="users" />
</security-role-mapping>
</namespace-resource>
</write-access>
</namespace-access>
</orion-application>
>>>>>>>>>>
Any ideas what we are doing wrong ?
Thanks
Simon.Additional Information:
We ran the following command :
"dcmctl validateEarFile -f /tmp/ereg_ear/e-regulation.ear"
and got :
name = JDBC type = null
name = OracleConnectionCacheImpl type = JDBC_ConnectionSource
name = JDBC type = null
name = OracleConnectionPoolDataSource type = JDBC_DataSource
name = CONNECTION_1 type = JDBC_Connection
ADMN-906037
oracle(9iAS9020_IFS)$ dcmctl geterror ADMN-906037
ADMN-906037
The Java environment property http.proxyHost has not been defined. Define the environment variable ORACLE_DCM_JVM_ARGS="-Dhttp.proxyHost=<proxy-host-name> -Dhttp.proxyPort=<proxy-port-number>" using the right proxy host and port number and try again.
Any Ideas ?
Thanks
Simon. -
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
NinaI 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 -
Class visibility problems in deployed OC4J application
I have an entity, autogenerated from a database table by JDeveloper, which has the form:
Entity.java:
package a.b.c;
import ...
@Entity
@NamedQuery( ... )
@Table( ... )
public class Entity implements Serializable {
@Column( ... )
: etc.
}Then I have a stateless session bean, also autogenerated by JDeveloper, which has the form:
SessionEJBBean.java:
package a.b.c;
import ...
@Stateless(name="SessionEJB")
public class SessionEJBBean implements SessionEJB {
@PersistenceContext(unitName="Simple")
private EntityManager em;
public List<Entity> queryFindAll() {
return em.createNamedQuery( ... ).getResultList();
: etc.
}Then I have my client (again, largely autogenerated):
SessionEJBClient.java:
package a.b.c;
import ...
public class SessionEJBClient {
public static void main(String [] args) {
try {
final Context context = getInitialContext();
SessionEJB sessionEJB = (SessionEJB)context.lookup("SessionEJB");
List<Entity> entities = sessionEJB.queryFindAll();
} catch (Exception ex) {
ex.printStackTrace();
private static Context getInitialContext() throws NamingException {
: etc.
}The above code works fine, however I now want to experiment with the oracle.toplink.essentials.tools.sessionconfiguration.SessionCustomizer interface. To this end, I create a bare-bones customizer class:
Customizer.java:
package a.b.c;
import ...
public class Customizer implements SessionCustomizer {
public Customizer() {
public void customize(Session session) {
}and make corresponding updates to the persistence.xml file:
persistence.xml:
<?xml version="1.0" encoding="windows-1252" ?>
<persistence
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="Simple">
<properties>
<property name="toplink.session.customizer" value="a.b.c.Customizer"/>
</properties>
</persistence-unit>
</persistence>Now, when I redeploy and attempt to run my client application, I'm told that the customizer class cannot be found:
11-Jun-2007 16:32:17 oracle.j2ee.rmi.RMIMessages
EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
WARNING: Exception returned by remote server: {0}
javax.ejb.EJBException: Exception [TOPLINK-28006]
(Oracle TopLink Essentials - 2006.8 (Build 060829)):
oracle.toplink.essentials.exceptions.EntityManagerSetupException
Exception Description: ClassNotFound: [a.b.c.Customizer]
specified in [toplink.session.customizer] property.
Internal Exception: oracle.classloader.util.AnnotatedClassNotFoundException:
Missing class: com.logicacmg.security.Customizer
Dependent class: oracle.toplink.essentials.internal.security.PrivilegedAccessHelper
Loader: oracle.persistence:1.0
Code-Source: /usr/oc4j/toplink/jlib/toplink-essentials.jar
Configuration: <code-source> in /usr/oc4j/j2ee/home/config/server.xml
This load was initiated at oracle.persistence:1.0 using the Class.forName() method.
The missing class is available from the following locations:
1. Code-Source: /usr/oc4j/j2ee/home/applications/SimpleApp/SimpleApp.jar
(from <ejb> in /usr/oc4j/j2ee/home/applications/SimpleApp)
This code-source is available in loader SimpleApp.root:0.0.0.
This is the current thread's context loader, and it appears that Class.forName()
was used to load the dependent class. If a loader was not explicitly passed to
Class.forName(), try passing the result of calling
Thread.currentThread().getContextClassLoader()So, my question is: what is the correct way for me to configure the system so that my Customizer class is picked up?
Apologies if this is obvious - I'm still rather new to working in this area (so if anything else I've written doesn't make sense - please don't be afraid to point it out!).
Regards,
Alistair.Hi, you all seem highly intelligent so I'll give this a shot.
We're having a similar problem, but TopLink is not involved. Axis2 is, but in our case, the Axis2 application runs fine, it's the other applications that fail.
We have three applications, Login, Candle, and Webservices (the one with Axis2). When we first start up the applications, they all instantiate fine. We can run Login pages and Candle pages fine. We can also run non-Axis2 Webservices servlets without breaking Login and Candle. But when we run a webservices servlet that uses Axis2, something happens that causes all future Login and Candle class loading to fail! From the error message, OC4J indicates that it is trying to load classes for Login and Candle using the classloader for Webservices.
So, to summarize, once the webservices app runs an Axis2 servlet, OC4J tries to use the webservices' classloader to load classes for the other applications instead of using their classloaders. The example error message I give below is for the Candle application, but the same problem occurs for Login.
Please help, even if it's just a suggestion for something to try!! We've been trying to understand this for 2 days and we're still as stumped as ever.
[java] 2007-06-15 14:59:59,159 ERROR [org.apache.struts.action.RequestProcessor] - No action instance for path /adpThrowableHandler could be created
[java] oracle.classloader.util.AnnotatedClassNotFoundException:
[java] Missing class: com.adp.candle.core.ui.struts.exceptionhandler.AdpThrowableHandlerAction
[java] Dependent class: org.apache.struts.util.RequestUtils
[java] Loader: default.web.candle:0.0.0
[java] Code-Source: /C:/build/javaroot/candle/WEB-INF/lib/struts.jar
[java] Configuration: WEB-INF/lib/ directory in C:\build\javaroot\candle\WEB-INF\lib
[java] This load was initiated at default.web.webservices:0.0.0 using the loadClass() method.
[java] The missing class is available from the following locations:
[java] 1. Code-Source: /C:/build/javaroot/candle/WEB-INF/classes/ (from WEB-INF/classes/ in C:\build\javaroot\candle\WEB-INF\classes)
[java] This code-source is available in loader default.web.candle:0.0.0.
-- Brad -
BEA WebLogic vs OAS/OC4J: application redeployment
Hi gang
I'm currently researching solutions to JEE application redeployment, or more specifically when you want to update an existing deployed application on a JEE app server, how can you do so with minimal interruption to the users?
From my research on the internet I've found two approaches, one with the Oracle OAS camp, and another in the BEA Weblogic camp.
Deepek Arora in this Redeploy Web App to Application Server points to an Oracle whitepaper that states the OAS approach is to use clusters. However this article is somewhat old so may not be the most recent recommended approach.
I note that in the BEA documentation for the WebLogic Server here, the documentation details a feature called Production Redeployment (documented here). This feature allows both versions of the application to be deployed, and gracefully moves new user connections to the new application version, while maintaining existing user connections on the old version, eventually shutting down the older application version once the users have disconnected.
What I'd like to know and I hope you can help me with is:
a) Is clusters still the recommended OAS approach to this problem?
b) Does OAS support the similar WebLogic facilities, or are there plans in the future (maybe 11g?) to include this feature?
Very much thanks for your assistance in advance. This question has been bugging me for awhile, so it'd be great to hear your thoughts and recommendations. Alternatively any pointers to any Oracle documentation, whitepapers etc would be appreciated as there is a lot to digest.
Thanks & regards,
Chris Muir.Hey Chris --
OC4J doesn't implement the same side-by-side versioning approach that WLS does -- it's a nice facility from what I have seen of it. We should buy them if we ever get the chance .. :-) Their staged/admin-only deployment model is also very useful for deploy/test/publish scenarios.
In OracleAS 10.1.3.1+ we have the ability to execute a redeployment operation to a "group" of OC4J instances in a serial form.
When a sequential redeployment operation is executed, the cluster deployment handler:
1. Picks the first OC4J instance in the group.
1.1 The container STOPS the application
1.1.1 Signals to mod_oc4j to take it out of the route table so it doesn't get any new requests -- this happens dynamically with no restart required with OHS/mod_oc4j 10.1.3.
1.1.2 Allows all current inflight requests to finish, flushes any session state updates
1.2 The current version of the application is then undeployed
1.3 The new version of the application is deployed
1.4 The application is started
1.4.1 Signals to mod_oc4j that is available for service, dynamically added back into the routing mix.
1.5 Starts receiving and servicing requests
2. Group deployment mechanism waits for the specified timeout period.
3. Repeats the process for the remaining OC4J instances.
4. Finishes.
Since we have session affinity with OHS/mod_oc4j routing, any existing client requests will continue to go to their current instance unless it is stopped. So for customers on V1 of an application, they'll stay on it until it is upgraded. Any requests that get serviced by V2 of an application will continue to be serviced by that server/application, unless it is taken down for some reason.
For those applications that are maintaining client "state" within the server, if the application has configured state-replication, then any session state will be maintained on other nodes as the redeployment of a specific node occurs.
In earlier releases, this was documented in a far more manual fashion as something called a "cluster dance" -- where due to the automated synchronization when operating in a cluster, you needed to take instances out of one cluster into another to do the upgrade, then join them back together.
http://www.oracle.com/technology/products/ias/hi_av/OracleApplicationServer10gR2StatefulRollingUpgrades-WP.pdf
The sequential group deployment mechanism, IMHO offers a much simpler path to do a multiple instance redeployment while maintaining availability.
There's a general doc about this from the same author above here:
http://www.oracle.com/technology/products/ias/hi_av/OracleApplicationServer10gR3HA-WP.pdf
There's a screen cam/viewlet somewhere on OTN I believe that demos this as well.
And a fairly simple form of how-to here which walks you through an example:
http://www.oracle.com/technology/products/ias/hi_av/Dynamic%20Routing.htm
-steve- -
How to specify a new OHS - oc4j application binding ?
I have made the default installation of ias 9.0.2 with OHS and OC4J.
What I want to do is :
three entry points:
80 (http)
443 (https)
444 (https+client auth)
and three apps on oc4j
A, B, C
This would work this way
80 /A /B
443 /A /B
444 /B /C
I know that this setup has to be done with the OC4J mount (it is like JkMount from AJP with Apache-Tomcat)
But, how should I do it?
Is there a management application to do it, or should I do it manually (editing httpd.conf and dealing with different OC4J instances) ?
Maybe I if make it at hand some gets broken !!
Hope to hear from you :)This should be done using Enterprise Manager. When you deploy an application using EM it automatically binds to an URL.
Please see the Users Guide and other relevant documents at
http://otn.oracle.com/docs/products/ias/doc_library/90200doc_otn/web.htm
regards
Debu -
Accessing OC4J application through OHS
We developed a standalone web app on OC4J. Now we would like to deploy this application to a standalone OC4J running on the same machine as 9iAS. We would like to access our application through 9iAS OHS, possibly with as few changes to our application as possible.
So instead of http://oc4jhost:8888/appname/whatever.jsp
we want http://standardhost/appname should then redirect/rewrite to port 8888 and so on.
Is there a document that describes which configuration files need to be manipulated and how?
We assume mod_oc4j, httpd.conf, orion*.xml, and possibly others have to be edited.
We do not want to run our application INSIDE of 9iAS, because it uses its own frameset and because we want a more up-to-date Java for this application.Note that
The business client does not need a portal (it can but does not have to)
but NWBC can connect as well (by using the sapgui in the background-
hence sapgui needs then to be installed as well on the same client as
the NWBC) directly against the backend.
http://help.sap.com/saphelp_nw70ehp2ru/helpdata/en/31/8dd113b8ba4832aeaa
fb4b756e1eed/frameset.htm
http://help.sap.com/saphelp_nw70ehp2ru/helpdata/en/31/8dd113b8ba4832aeaafb4b756e1eed/frameset.htm
As of SAP enhancement package 5 for SAP ERP 6.0 you can choose from the
following deployment options for ESS:
Deployment Option 1: WD ABAP-Based ESS on NWBC
Deployment Option 2: WD ABAP-Based ESS on SAP NetWeaver Portal
Deployment Option 3: WD Java-Based ESS on SAP NetWeaver Portal
Activate the switch HCM_ESS_WDA_1 to use WD ABAP services
ESS Refer Note 1450179
EhP 5 ESS: The architect's view -
Accessing OC4J application through OHS, how?
We developed a standalone web app on OC4J. Now we would like to deploy this application to a standalone OC4J running on the same machine as 9iAS. We would like to access our application through 9iAS OHS, possibly with as few changes to our application as possible.
So instead of http://oc4jhost:8888/appname/whatever.jsp
we want http://standardhost/appname should then redirect/rewrite to port 8888 and so on.
Is there a document that describes which configuration files need to be manipulated and how?
We assume mod_oc4j, httpd.conf, orion*.xml, and possibly others have to be edited.
We do not want to run our application INSIDE of 9iAS, because it uses its own frameset and because we want a more up-to-date Java for this application.Note that
The business client does not need a portal (it can but does not have to)
but NWBC can connect as well (by using the sapgui in the background-
hence sapgui needs then to be installed as well on the same client as
the NWBC) directly against the backend.
http://help.sap.com/saphelp_nw70ehp2ru/helpdata/en/31/8dd113b8ba4832aeaa
fb4b756e1eed/frameset.htm
http://help.sap.com/saphelp_nw70ehp2ru/helpdata/en/31/8dd113b8ba4832aeaafb4b756e1eed/frameset.htm
As of SAP enhancement package 5 for SAP ERP 6.0 you can choose from the
following deployment options for ESS:
Deployment Option 1: WD ABAP-Based ESS on NWBC
Deployment Option 2: WD ABAP-Based ESS on SAP NetWeaver Portal
Deployment Option 3: WD Java-Based ESS on SAP NetWeaver Portal
Activate the switch HCM_ESS_WDA_1 to use WD ABAP services
ESS Refer Note 1450179
EhP 5 ESS: The architect's view -
Hi,
In standalone oc4j 10221/orion, to redeploy an application, my developers replace the someapp.ear file in applications/ and then change the timestamp (touch) of the world writable server.xml and global-web-application.xml.
oc4j will hot deploy the someapp.ear automatically.
In ias903 core, it doesn't seem to work this way anymore.
I hate to give my developers right to run
dcmctl redeployapplication -a someapp -f ...
Can I get the old behaviour back?
Thx.
KenYes you have to rebuild the WAR file. You can deploy WAR from EMWebsite by using the deploy WAR link. If you are in development and your WAR/EAR file is constantly changing you can use standalone OC4J.
regards
Debu -
Memory profiling oc4j application on linux
Is there any way I can use Jdeveloper's memory profiler to connect to an application running in oc4j on a remote linux server? I don't see this as being possible because it seems to require ojvm which isn't available on linux. Am I wrong? What are my alternatives? I really need to profile my memory usage on this server.
You can install OJVM on Linux see:
http://www.oracle.com/technology/products/jdev/htdocs/9.0.5.2/readme.html#ojvm_install_linux
And you might also want to try installing 10.1.3 on linux and using it for profiling. -
OC4J :: Application LifeCycle Listeners
Hi,
I would like to know if OC4J 10.1.3.1 supports Application LifeCycle Events. I am trying to build something similar to the ApplicationLifecycleListener in WebLogic :-
http://edocs.beasys.com/wls/docs90/javadocs/weblogic/application/ApplicationLifecycleListener.html
I am unable to find a similar functionality in OC4J - I seem to have missed the relevant documentation that discusses this concetp in OC4J. I am familiar with the OC4J StartUp Classes, but I am not sure if these can be modified to fire at specific Application LifeCycles like preStart, etc.
Can you please guide me to the relevant documentation ?
Thanks,
Sandeep
Regards,
SandeepWe do not have a documented public API equivalent for this though the hooks are there in the container ... as you know we have taken this one offline and are working to see if a public equivalent can be published from the OC4J engineering team. If it is viable, we will post it on OTN on this thread.
Mike. -
Urgent OC4J Application Problem
Hi,
I am deploying application (with only JSP & servlets --> .war) in Oracle 9iAS with OC4J container(2.0.0.0) in Win 2000 Server.
Considering the classloader mechanism of OC4J (I read through this forum and throught this link http://kb.atlassian.com/content/atlassian/howto/classloaders.jsp). This is causing problems. Particularly in my case, where I want that specific classes should actually be loaded from my application and NOT from parent loaders.
I am encountering the following problems when I run the application using command: (java -jar oc4j.jar)
1) Classes in "soap.jar" contained in my application WEB-INF/lib directory clashes with those present in "JD-OC4J\soap\lib" (where JD-OC4J is my Installed location for OC4j container). Hence running my soap application gives error like this
java.lang.NoClassDefFoundError: HTTPClient/CookiePolicyHandler
at org.apache.soap.rpc.Call.invoke(Call.java:213)
at com.mbserver.soap.listener.MBSoapClientListener.doPost(com/mbserver/soap/listener/MBSoapClientListener.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind[Oracle9iAS (2.0.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:667)
at com.evermind[Oracle9iAS (2.0.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
at com.evermind[Oracle9iAS (2.0.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:704)
at com.evermind[Oracle9iAS (2.0.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:250)
at com.evermind[Oracle9iAS (2.0.0.0) Containers for J2EE].util.ThreadPoolThread.run(ThreadPoolThread.java:62)
-- This would run in case "soap.jar" is used from my Application lib directory(present in /../j2ee/home/applications/myapp/WEB-INF/lib) BUT this is not the case.
2) I also ran a RMI application INSIDE the web application. Perhaps due to above mechanism of classloading, I get the following error
Exception in binding=java.rmi.ServerException: RemoteException occurred in serve
r thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: com.mbconsole.adminui.MBrmiAdminServer_Stub
java.rmi.ServerException: RemoteException occurred in server thread; nested exce
ption is:
Because the application could NOT load stub class from WEB-INF/classes directory.
-- My problem is I cannot use "specific API" or make any changes for the Container. As the application is sold for other vendors (Tomcat, WebShere...) and it works in those system.
-- I am sure this kind of problem will be encountered earlier (actually I couldn't find out)
- Any idea will be of Great Help!
Thanks in advance
ThyageshThanks Debu for the information.
I indeed was using earlier version. I upgraded to 9.0.3 container and referred to this document
http://otn.oracle.com/tech/java/oc4j/htdocs/how-to-servlet-sysclassloader.html
-- The RMI problem was solved, thanks for that !
But I am still having difficulty. I use XML parsers in $myapp/WEB-INF/lib:
- jaxp.jar - v1.1 specs
- crimson.jar - v1.1 specs
- parser.jar - v1.0 specs
I changed the "orion-web.xml" and included
- "<web-app-class-loader search-local-classes-first="true" />"
When the application started it gave the "sealing violation exception" as follows:
java.lang.SecurityException: sealing violation
at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1076)
at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:365)
at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:150)
at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java:129)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:195)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:1890)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4355)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4455)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:662)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:435)
at com.evermind.server.Application.getHttpApplication(Application.java:695)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:676)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:528)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:231)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:247)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:150)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:1959)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1294)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:93)
at java.lang.Thread.run(Thread.java:484)
If the container loads classes from the local path (WEB-INF/classes, WEB-INF/lib) then this should have worked (coz' the application does works on Tomcat, IBM WebShere...) with the same set of parser.
If I remove the above three parsers, then the application initializes BUT the same problems prelude (i.e. Oracle parsers gives problems like: toString() of XML node returns class name, etc).
2) This is another strange problem. I am using apache soap jar (SOAP 1.1 impl) and uses its SOAP deployement tool. Hence I use "soap.jar" in $myapp/WEB-INF/lib/ directory.
But with the above configuration (local=true) the container uses "soap.jar" from location:
-- $OC4J_Home/j2ee/lib
and this causes the "class not found" Exception.
Again help is required specially for the first point.
Thanks,
Thyagesh -
500 Internal Server error in deployed OC4J application
In our deployed application , if one of the jsf pages has an exception, the above error is thrown and the log gets written correctly. But from this point on the user cannot access any other pages other than closing the browser windows and relogging into the application. How can we prevent this from happening?
Can you post the trace?
Maybe you are looking for
-
Black boot screen and startup manager on mid 2014 rMBP after upgrading to Yosemite
After upgrading to Yosemite I'm experiencing black booting process. Moreover, I noticed that the startup manager, which we access by holding the option key, has the black background too. I didn't like the Yosemite, so I downgraded back to Mavericks,
-
Getting Java Error while launching Juniper SBR from Mozila and IE
Hi, I am getting the following error message on Java console while Launching SBR (Steel-Belted Radius). Here is the error: java.io.IOException: Cannot run program "C:\Documents": CreateProcess error=193, %1 is not a valid Win32 application Any help,
-
How I can synchronize my Mail Accounts in Windows Live Mail with iOS?
I want to synchronize my Mail Accounts with password from Windows Live Mail to my iphone on iOS. How I can do that?
-
Finding Short Text for selected Data Element
Hi all, I need to find the short description using a data element (technical name) as a search criteria, where you can use trxn SE12 to search for its short description. e.g. KEY = 'Synchronization key' SPRAS = 'Language Key' VBELN = 'S
-
None of the above have worked. Ipad completely bricked. This began when merely updating IOS software as instructed. Now Apple want to charge me for using their crappy software as directed. Surely this is not only immoral but potentially illegal.