Issue with class loading - Java concurrent Program
Hi ,
We are facing a strange issue for one of our customer.
Scenario :
We have a Java Concurrent Program (A.java ) which refers another Java class (B.java) , we modified the file B.java for a fix and created a patch. after applying the patch and bouncing the apache ,we found that B.java is loaded the old version of the class file.
We asked them to restart the concurrent manager and related services, still we see that old version of B.java is loaded. (confirmed by adding code throwing exception - throw new Exception from a specific line and found that its not getting thrown at run-time)
Any clue on this?.
Thanks
Joseph George
Deployed this file both tier - Database server tier and Application server tier.
I have face same issue, Concurrent program not picking file application server tier. its picking file from database server tier.
Thanks, Avaneesh
Similar Messages
-
Performance issues with class loader on Windows server
We are observing some performance issues in our application. We are Using weblogic 11g with Java6 on a windows 2003 server
The thread dumps indicate many threads are waiting in queue for the native file methods:
"[ACTIVE] ExecuteThread: '106' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
java.io.WinNTFileSystem.getBooleanAttributes(Native Method)
java.io.File.exists(Unknown Source)
weblogic.utils.classloaders.ClasspathClassFinder.getFileSource(ClasspathClassFinder.java:398)
weblogic.utils.classloaders.ClasspathClassFinder.getSourcesInternal(ClasspathClassFinder.java:347)
weblogic.utils.classloaders.ClasspathClassFinder.getSource(ClasspathClassFinder.java:316)
weblogic.application.io.ManifestFinder.getSource(ManifestFinder.java:75)
weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
weblogic.application.utils.CompositeWebAppFinder.getSource(CompositeWebAppFinder.java:71)
weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
weblogic.utils.classloaders.MultiClassFinder.getSource(MultiClassFinder.java:67)
weblogic.utils.classloaders.CodeGenClassFinder.getSource(CodeGenClassFinder.java:33)
weblogic.utils.classloaders.GenericClassLoader.findResource(GenericClassLoader.java:210)
weblogic.utils.classloaders.GenericClassLoader.getResourceInternal(GenericClassLoader.java:160)
weblogic.utils.classloaders.GenericClassLoader.getResource(GenericClassLoader.java:182)
java.lang.ClassLoader.getResourceAsStream(Unknown Source)
javax.xml.parsers.SecuritySupport$4.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
javax.xml.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
javax.xml.parsers.FactoryFinder.find(Unknown Source)
javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
org.ajax4jsf.context.ResponseWriterContentHandler.<init>(ResponseWriterContentHandler.java:48)
org.ajax4jsf.context.ViewResources$HeadResponseWriter.<init>(ViewResources.java:259)
org.ajax4jsf.context.ViewResources.processHeadResources(ViewResources.java:445)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:193)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
On googling this seems to be an issue with java file handling on windows servers and I couldn't find a solution yet. Any recommendation or pointer is appreciatedHi shubhu,
I just analyzed your partial Thread Dump data, the problem is that the ajax4jsf framework ResponseWriterContentHandler triggers internally a new instance of the DocumentBuilderFactory; every time; triggering heavy IO contention because of Class loader / JAR file search operations.
Too many of these IO operations under heavy load will create excessive contention and severe performance degradation; regardless of the OS you are running your JVM on.
Please review the link below and see if this is related to your problem.. This is a known issue in JBOSS JIRA when using RichFaces / ajaxJSF.
https://issues.jboss.org/browse/JBPAPP-6166
Regards,
P-H
http://javaeesupportpatterns.blogspot.com/ -
PL/SQL log messages are not printing from Java concurrent program
Hi,
I have a strange issue while submitting the Java concurrent program through PL/SQL.
I have a PL/SQL concurrent program which will invoke the Java concurrent program inside the package by use of "FND_GLOBAL.SUBMIT_REQUEST". It worked and submitted successfully. From that Java concurrent program we are calling some other PL/SQL packages and printing some log messages over there. But problem here is the request is only printing the Java log messages in view log but not the PL/SQL log messages. But if I submit the Java concurrent program directly from SRS form at that it is printing both Java and PL/SQL log messages.
I am just wondering how the log messages has not printed. Please provide your inputs to solve this problem.
Thanks
SuriyaI'm adding log messages in the package body , but these messages are not printing after completion of concurrent prog.
Any suggestions.
FND_FILE.PUT_LINE(FND_FILE.LOG,'Data Test :');Do you have COMMIT in your code?
https://forums.oracle.com/forums/search.jspa?threadID=&q=%27FND_FILE.PUT_LINE%27+AND+commit&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Thanks,
Hussein -
How to integrate a class with template.java - Java Concurrent Program. 11i
Hello, I have a java class I got from a vendor. This java class needs to run through as concurrent program. As per metalink note *How To Create a Java Concurrent Program? [ID 827563.1]* it says that, we must require template.java to wrap around the custom class. I have done that in the following java code. However, being a new java guy, I really dont know how to connect these two classes and constructor.
Any suggestions about how do I make these classes work in order to run from a concurrent program?
package oracle.apps.fnd.cp.request;
import oracle.apps.fnd.util.*;
import oracle.apps.fnd.cp.request.*;
import java.io.BufferedReader;
import java.io.IOException;
import javax.net.ssl.SSLSocketFactory;
public class cyberBatch implements JavaConcurrentProgram {
// Optionally provide class constructor without any arguments.
// If you provide any arguments to the class constructor then while running the program will fail.
public void runProgram(CpContext pCpContext) {
ReqCompletion lRC = pCpContext.getReqCompletion();
String CompletionText = "";
// This class is to upload files but can be expanded to download files also.
public class SSLFileTransfer {
Properties props =
new Properties(); // stores properties from property file
* SSLFileTransfer(): constructor
public SSLFileTransfer() {
* init(): initialization (load property file)
* @param propsFile properties needed for file transfer
public void init(String propsFile) {
try {
props.load(new BufferedInputStream(new FileInputStream(new File(propsFile))));
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
* usage()
public static void usage() {
System.out.println("USAGE: java SSLFileTransfer <full path property file name>");
System.exit(-1);
* getFactory(): get factory for authentication
* @throws IOException if exception occurs
private SSLSocketFactory getFactory() throws IOException {
try {
SSLContext ctx;
KeyManagerFactory kmf;
KeyStore ks, ks1;
char[] passphrase =
props.getProperty("passPhrase").toCharArray();
ctx = SSLContext.getInstance("TLS");
kmf = KeyManagerFactory.getInstance("SunX509");
ks = KeyStore.getInstance("PKCS12", "BC");
ks1 = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(props.getProperty("key")),
passphrase);
ks1.load(new FileInputStream(props.getProperty("keyStore")),
passphrase);
kmf.init(ks, passphrase);
TrustManagerFactory tmf =
TrustManagerFactory.getInstance("SunX509");
tmf.init(ks1);
ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
return ctx.getSocketFactory();
} catch (Exception e) {
e.printStackTrace();
throw new IOException(e.getMessage());
* getHost(): Get host from property file
private String getHost() {
return props.getProperty("host", "localhost");
* getPort(): Get port from property file
private int getPort() {
return Integer.parseInt(props.getProperty("port"));
* sendRequest(): Send request (file) to the server
* @param out stream to send the data to the server
* @throws Exception if an error occurs.
private void sendRequest(PrintWriter out) throws Exception {
String path = props.getProperty("path");
out.println("POST " + path + " HTTP/1.0");
final String BOUNDARY = "7d03135102b8";
out.println("Content-Type: multipart/form-data; boundary=" +
BOUNDARY);
String uploadFile = props.getProperty("uploadFile");
String authString =
props.getProperty("bcUserName") + ":" + props.getProperty("bcPassword");
String encodedAuthString =
"Basic " + new sun.misc.BASE64Encoder().encode(authString.getBytes());
out.println("Authorization: " + encodedAuthString);
final String CRLF = "\r\n";
StringBuffer sbuf = new StringBuffer();
sbuf.append("--" + BOUNDARY + CRLF);
sbuf.append("Content-Disposition: form-data; name=\"upfile\"; filename=\"" +
uploadFile + "\"" + CRLF);
sbuf.append("Content-Type: text/plain" + CRLF + CRLF);
FileReader fi = new FileReader(uploadFile);
char[] buf = new char[1024000];
int cnt = fi.read(buf);
sbuf.append(buf, 0, cnt);
sbuf.append(CRLF);
sbuf.append("--" + BOUNDARY + "--" + CRLF);
int sz = sbuf.length();
out.println("Content-Length: " + sz);
out.println();
out.println(sbuf);
out.flush();
// Make sure there were no surprises
if (out.checkError())
System.out.println("SSLFileTransfer: java.io.PrintWriter error");
* readResponse(): reads response from the server
* @param in stream to get the data from the server
* @throws Exception if an error occurs.
private void readResponse(BufferedReader in) throws Exception {
boolean successful = false;
String inputLine;
while ((inputLine = in.readLine()) != null) {
if (inputLine.startsWith("HTTP") &&
inputLine.indexOf("200") >= 0)
successful = true;
System.out.println(inputLine);
System.out.println("UPLOAD FILE " +
(successful ? "SUCCESSFUL" : "FAILED") +
"!!!\n");
* upload(): upload file to server
* @throws Exception if an error occurs.
public void upload() throws Exception {
try {
SSLSocketFactory factory = getFactory();
SSLSocket socket =
(SSLSocket)factory.createSocket(getHost(), getPort());
PrintWriter out =
new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
BufferedReader in =
new BufferedReader(new InputStreamReader(socket.getInputStream()));
socket.startHandshake();
sendRequest(out);
readResponse(in);
out.close();
in.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
throw e;
* main(): main method to start file transfer
* @param args command line arguments (property file, see usage())
* @throws Exception if an error occurs.
public static void main(String[] args) throws Exception {
if (args == null || args.length != 1)
usage();
SSLFileTransfer fileXfer = new SSLFileTransfer();
fileXfer.init(args[0]);
fileXfer.upload();
lRC.setCompletion(ReqCompletion.NORMAL,CompletionText) ;
}Thanks,
RI believe the OP is aware of this :) -- Re: Oracle 11i - 11.5.10.2 - and Java
Thanks,
Hussein -
Java Concurrent Program not able to access class present under CLASSPATH
We are creating a Java Concurrent Program which is using third party web service. The client classes for the webservice have been placed in a jar file. This jar file has been added to the SYSTEM CLASSPATH. When we try to run the concurrent program it fails with a ClassNotFoundException giving the name of the webervice client. The webservice clients are being used by other java classes from OAF as well. From there it is easily accessible.
The request is being submit using a custom responsibility called RAC Quoting Admin. The user logged in has the corresponding responsibiility. The request is being submitted as a single request and there are no parameters being passed to the request.
Here are the steps that we used to create the Oracle Concurrent Program:
1. First of all we wrote a Java class that implements oracle.apps.fnd.cp.request.JavaConcurrentProgram
rac.oracle.apps.qot.quote.batch.SFDCInterface implements JavaConcurrentProgram
2. The concurrent program has a method called public void runProgram(CpContext pCpContext) which has the logic to be executed.
3. Then we create a concurrent program executable
Path: Concurrent -> Program -> Executable.
Executable: RAC Quoting SFDC Sync Executable
Short Name: RacQotSFDCSyncEx
Application: Quoting
Description: RAC Quoting SFDC Synchronization batch program
Execution Method: Java Concurrent Program
Execution File Name : SFDCInterface
Execution File Path : rac.oracle.apps.qot.quote.batch
4. Create the Concurrent Program
Path: Concurrent -> Program -> Define
Program: RAC Quoting SFDC Sync CP
Short Name: RACQOTSFDCSYNCCP
Application: Quoting
Description: RAC Quoting SFDC batch Synchronization Concurrent Program
Executable: Name - RacQotSFDCSyncEx; Method - Java Concurrent Program
5. This concurrent program is registered with a custom responsibility from which we run this concurrent program.Please post the details of the application release, database version and OS.
We are creating a Java Concurrent Program which is using third party web service. The client classes for the webservice have been placed in a jar file. This jar file has been added to the SYSTEM CLASSPATH. When we try to run the concurrent program it fails with a ClassNotFoundException giving the name of the webervice client. The webservice clients are being used by other java classes from OAF as well. From there it is easily accessible.Please post the contents of the concurrent request log file here. You may also enable trace and submit the request again and post the contents of the log file.
The request is being submit using a custom responsibility called RAC Quoting Admin. The user logged in has the corresponding responsibiility. The request is being submitted as a single request and there are no parameters being passed to the request.
Here are the steps that we used to create the Oracle Concurrent Program:
1. First of all we wrote a Java class that implements oracle.apps.fnd.cp.request.JavaConcurrentProgram
rac.oracle.apps.qot.quote.batch.SFDCInterface implements JavaConcurrentProgram
2. The concurrent program has a method called public void runProgram(CpContext pCpContext) which has the logic to be executed.
3. Then we create a concurrent program executable
Path: Concurrent -> Program -> Executable.
Executable: RAC Quoting SFDC Sync Executable
Short Name: RacQotSFDCSyncEx
Application: Quoting
Description: RAC Quoting SFDC Synchronization batch program
Execution Method: Java Concurrent Program
Execution File Name : SFDCInterface
Execution File Path : rac.oracle.apps.qot.quote.batch
4. Create the Concurrent Program
Path: Concurrent -> Program -> Define
Program: RAC Quoting SFDC Sync CP
Short Name: RACQOTSFDCSYNCCP
Application: Quoting
Description: RAC Quoting SFDC batch Synchronization Concurrent Program
Executable: Name - RacQotSFDCSyncEx; Method - Java Concurrent Program
5. This concurrent program is registered with a custom responsibility from which we run this concurrent program.Have you completed all the steps as per MOS docs? -- https://forums.oracle.com/forums/search.jspa?threadID=&q=Java+AND+Concurrent+AND+Program&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Thanks,
Hussein -
Java concurrent program class not found Exception in oracle apps
Hi all,
I done java concurrent program as per steps given by oracle.I am getting class not exception when i am submitting that concurrent program.
My java file is under $JAVA_TOP specified folder.Those path from $JAVA_TOP i set in apps (System Adminstrator -->Executable) Execution file path.Can any body have faced this issue?
ThanksAlso go through the metalink Note:250964.1
It goes through the complete process of creating a sample java conc process and implementing it.
--Shiv -
Class Not found exception in java concurrent program
Hi All,
I done java concurrent program as per steps given by oracle.I am getting class not exception when i am submitting that concurrent program.Can any body have faced this issue?
Thanks
JKAlso go through the metalink Note:250964.1
It goes through the complete process of creating a sample java conc process and implementing it.
--Shiv -
Generation .class file for Java Concurrent Program
Hi
Below if my sample java concurrent program code and registered concurrent program
package oracle.apps.sample;
import oracle.apps.fnd.cp.request.*;
public class Hello implements JavaConcurrentProgram {
public static final String RCS_ID = "$Header$";
public void runProgram(CpContext ctx) {
ctx.getLogFile().writeln("-- Hello World! --", 0);
ctx.getOutFile().writeln("-- Hello World! --");
ctx.getReqCompletion().setCompletion(ReqCompletion.NORMAL, "");
Created a sample directory under $JAVA_TOP: $ mkdir $JAVA_TOPoracle/apps/fnd/cp/sample
Copied Hello.java into $JAVA_TOP/oracle/apps/fnd/cp/sample and ran below command to compile
$ cp $HOME/Hello.java $JAVA_TOP/oracle/apps/fnd/cp/sample
But getting error
javac: file not found: /oracle/apps/fnd/cp/sample
Usage: javac <options> <source files>
use -help for a list of possible options
Please suggest what was issue and is there any option to generate class file in J developer in local (Windows) instead of doing on application server if yes what are steps to be followed to generate class in windows
Thanks
ArjunPlease post the details of the application release, database version and OS.
But getting error
javac: file not found: /oracle/apps/fnd/cp/sample
Usage: javac <options> <source files>
use -help for a list of possible optionsHow do you get this error?
Thanks,
Hussein -
Issue in Java concurrent program for Digital Signature Stamping
Hi All,
Im calling a Java concurrent program which does digital signature stamping on the PDF report generated.Program able to able to read the PDF file as input and also digital signature stored as file in the application but
ends in error in create signature method , need help in this regard.
Error:
Parameter 0 is Request id of with out Digital signature file
Parameter 1 is employee id of approver
Parameter:0:99203256
Parameter:1:1414603
$$$$ start query fileinfo with callable statment
programName>>>>>>>>BTPOPORPXML
$$$$ Without digital Signature file Name $$$
$/inst_top/finprod/apps/FINPROD_CPNQERPAAPZP10/logs/appl/conc/out/BTPOPORPXML_99203256_1.PDF
PFX File Reading Start
PFX File Reading Ends
PFX File size is: 6460 Byte size is: 6460
Elements present
java.lang.NullPointerException
at
com.lowagie.text.pdf.PdfSignatureAppearance.getAppearance
(Unknown Source)
at
com.lowagie.text.pdf.PdfSignatureAppearance.preClose
(Unknown Source)
at
com.lowagie.text.pdf.PdfSignatureAppearance.preClose
(Unknown Source)
at com.lowagie.text.pdf.PdfStamper.close(Unknown
Source)
at
btvl.oracle.apps.po.digsig.BTVLDigSign.runProgram
(BTVLDigSign.java:151)
at oracle.apps.fnd.cp.request.Run.main
(Run.java:157)
Edited by: 999033 on May 16, 2013 7:20 PMHi Charls,
I have successfully implemented at our end in 11i. Pl.try at your end.
v_request_id := FND_REQUEST.SUBMIT_REQUEST (passed your arguments... );
COMMIT;
IF NVL( v_request_id , 0 ) = 0 THEN
DBMS_OUTPUT.PUT_LINE( 'Item Assignment to Organization Program Not Submitted');
p_status := 'FAILURE' ;
p_err_msg := 'ERROR RAISED AFTER SUBMITTING THE IMPORT ITEM ORG.ASSIGNMENT CONCURRENT REQUEST ... ' ;
ELSE
v_finished := FND_CONCURRENT.WAIT_FOR_REQUEST
request_id => v_request_id,
interval => 0,
max_wait => 0,
phase => v_phase,
status => v_status,
dev_phase => v_request_phase,
dev_status => v_request_status,
message => v_message
LOOP
EXIT WHEN ( UPPER(v_request_phase) = 'COMPLETE' OR v_phase = 'C');
END LOOP;
HTH
Sanjay -
Java Concurrent Program .class file location
Hi frnds,
I need to know the .class file location of a java concurrent prog. I know the filename from concurrent program executables and my concurrent program filepath is oracle.apps.xxogl.f04.cp.file. But I dont know where the exact location of the file is. pls help me.
I searched for the same and found the following article in many places which doesnt seem to help me much.
http://geektalkin.blogspot.com/2008/03/oracle-apps-java-concurrent-program.html
pls help. thanks in advance.
LisanHi;
pls file can be found like
/apps_st/appl/bom/12.0.0/patch/115/sql/
Contains SQL*Plus scripts used to upgrade data, and .pkh, .pkb, and .pls scripts to create PL /SQL stored procedures.
Regard
Helios -
Hello,
I am fairly new the Java Concurrent Programs concept. I was just trying a simple Hello World example but I cannot seem to run it from the operating system. Here is my Hello World java program I created using Jdeveloper:
package oracle.apps.fnd.cp.request;
public class Hello implements JavaConcurrentProgram {
public static final String RCS_ID = "$Header$";
public void runProgram(CpContext ctx) {
ctx.getLogFile().writeln("-- Hello World! --", 0);
ctx.getOutFile().writeln("-- Hello World! --");
ctx.getReqCompletion().setCompletion(ReqCompletion.NORMAL, "");
It compiles fine in Jdev generating the class file. Here is what I did :
1) Created directory under $JAVA_TOP as follows :
mkdir $JAVA_TOP/oracle/apps/fnd/cp/sample
2) moved the Hello.java file there under sample directory
3) compiled java file using avac $JAVA_TOP/oracle/apps/fnd/cp/sample/Hello.java ( It compiles fine generating the class file )
4) Now I wanted to test running it : I tried using jre command first as I saw in other posts but this is not working :
jre -Ddbcfile=$FND_TOP/secure/k021kp-6180_r115dev1.dbc -Drequest.outfile=/export/home/sqadri/outfile oracle.apps.fnd.cp.request.Run oracle.apps.fnd.cp.sample.Hello
Error :
ksh: jre: not found
Then I tried using the other way I saw on posts which is using the java command :
java -cp $AF_CLASSPATH -Ddbcfile=$FND_TOP/secure/k021kp-6180_r115dev1.dbc -Drequest.outfile=/export/home/sqadri/outfile oracle.apps.fnd.cp.request.Run oracle.apps.fnd.cp.sample.Hello
This gives me the following error :
java.lang.NoClassDefFoundError: oracle/apps/fnd/cp/sample/Hello (wrong name: oracle/apps/fnd/cp/request/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Can anyone tell me what I am doing wrong ? I have tried everything even tried ftp the class file from my local but I get the same error. Any help would be appreciated.
ThanksAjay,
Yes you are right. I did not register my java program yet in the concurrent programs.
I thought I could test it out from the operating system command line before registering it. But looking at your document you sent me it seems I have to do all the steps i.e. define concurrent program etc before I can test it from the operating system. If that's the case then what's the use of trying to test it via operating system using
java -cp $AF_CLASSPATH -Ddbcfile=$FND_TOP/secure/k021kp-6180_r115dev1.dbc -Drequest.outfile=/export/home/sqadri/outfile oracle.apps.fnd.cp.request.Run oracle.apps.fnd.cp.sample.Hello
Thanks
Syed -
.class file location of a java concurrent program
Hi frnds,
I need to know the .class file location of a java concurrent prog. I know the filename from concurrent program executables and my concurrent program filepath is oracle.apps.xxogl.f04.cp.file. But I dont know where the exact location of the file is. pls help me.
I searched for the same and found the following article in many places which doesnt seem to help me much.
http://geektalkin.blogspot.com/2008/03/oracle-apps-java-concurrent-program.html
pls help. thanks in advance.
LisanHi Lisan,
Which version are you using? Folder strucure differs for 11i and R12 versions.
All the class files will be placed under the JAVA_TOP folder. From there you have to follow your package structure. Here it is oracle/apps/xxogl/f04/cp/file
HTH,
Syed. -
Java Concurrent Program - connecting to MS SQL Server
Hi,
I hope this is correct forum to post this question.
I am writing a JCP which will connect to a MS SQL Server DB, pull data from a table and populate this data into a custome table in EBS (R12.1.1) database. But I am facing some issues.
When I run run this concurrent program from EBS, I get following exception message:
Wed Aug 08 01:18:04 GMT 2012: In openConection()
Wed Aug 08 01:18:04 GMT 2012: Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver
Wed Aug 08 01:18:04 GMT 2012: openConection() ClassNotFoundException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
Wed Aug 08 01:18:04 GMT 2012: Before Calling processPrintMachineRecords()
Wed Aug 08 01:18:04 GMT 2012: Exception:: java.lang.NullPointerException
Wed Aug 08 01:18:04 GMT 2012: In closeSQLServerConnection().......closing JDBC Connection
Wed Aug 08 01:18:04 GMT 2012: Connection object was null, hence skipping close
Wed Aug 08 01:18:04 GMT 2012: After Calling processPrintMachineRecords()
The I read somewhere on internet that I should set CLASSPATH in options field of concurrent program definition. So I provided classpath as follows:
-cp /rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/apps.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/sqljdbc_4.0/enu/sqljdbc.jar
In this classpath sqljdbc.jar contains the classes for connecting to MS SQL Server DB. However after giving classpath like this I started getting different error:
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/apps/fnd/cp/request/Run
Caused by: java.lang.ClassNotFoundException: oracle.apps.fnd.cp.request.Run
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
It appears from the error message that after giving this CLASSPATH, program was not able to find the "Run" method itself. In otherwords, CLASSPATH screwed it further.
Can anybody please point out what am I doing wrong here?
Regards
Java Code:
package oracle.apps.custom.printmachine;
import java.sql.*;
import oracle.apps.fnd.cp.request.* ;
import java.io.*;
import oracle.apps.fnd.util.*;
public class PrintMachineInterface implements JavaConcurrentProgram {
public static final String M_SUCCESS = "SUCCESS";
public static final String M_ERROR = "ERROR";
public static final String M_WARNING = "WARNING";
int mRequestStatus = -1;
int max_number_of_records = 99999999;
private String mSqlServerHost = "mysqlserver.domain.com";
// Application Short Name
private String applName;
CpContext mCtx;
LogFile logFile;
OutFile outFile;
Connection mConn = null;
ReqCompletion lRC;
public PrintMachineInterface(){
// if no parameter value is specified for APPLNAME then use FND
//as default value
applName = "FND";
private void logMessage(String str) {
java.util.Date now = new java.util.Date();
logFile.writeln(now.toString() + ": " + str, LogFile.STATEMENT);
static String mInsertRecord = " Declare " + " BEGIN "
+ " INSERT INTO XXGFN_GBL_CE_PM_STAGE(ID, KEY, FILENAME, PRINTED_AT, CREATED_AT, DOCTYPE, LANGUAGE, OU, TRX_ID, DOC_ID, REQ_ID, TEMPLATE, PAGES, DOC_TEXT, TIMES_RECEIVED)"
+ " VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, substr(:14,2000), :15);"
+ " COMMIT;"
+ " END;";
static Connection con = null;
public void openConection() {
logMessage( "In openConection()");
try {
logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "Attempting to connect to " + mSqlServerHost);
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
} catch (java.lang.ClassNotFoundException e) {
logMessage("openConection() ClassNotFoundException: " + e);
} catch (SQLException ex) {
logMessage("openConection() SQLException: " + ex);
public void closeSQLServerConnection() {
try {
logMessage( "In closeSQLServerConnection().......closing JDBC Connection");
if (con != null)
logMessage( "Con is not null");
con.close();
logMessage( "Con Closed Successfully");
else
logMessage( "Connection object was null, hence skipping close");
} catch (SQLException ex) {
logMessage("SQLException: " + ex);
} catch (Exception ex) {
logMessage("Exception in closeSQLServerConnection() : " + ex);
private void populate_staging_table(
String p_id,
String p_key,
String p_filename,
String p_printed_at,
String p_created_at,
String p_doctype,
String p_language,
String p_ou,
String p_trx_id,
String p_doc_id,
String p_req_id,
String p_template,
String p_pages,
String p_doc_text,
String p_times_received
PreparedStatement lStmt = null;
logMessage("Populating data from PrintMachine history table");
try {
lStmt = mConn.prepareCall(mInsertRecord);
lStmt.setString(1, p_id);
lStmt.setString(2, p_key);
lStmt.setString(3, p_filename);
lStmt.setString(4, p_printed_at);
lStmt.setString(5, p_created_at);
lStmt.setString(6, p_doctype);
lStmt.setString(7, p_language);
lStmt.setString(8, p_ou);
lStmt.setString(9, p_trx_id);
lStmt.setString(10, p_doc_id);
lStmt.setString(11, p_req_id);
lStmt.setString(12, p_template);
lStmt.setString(13, p_pages);
lStmt.setString(14, p_doc_text);
lStmt.setString(15, p_times_received);
lStmt.execute();
lStmt.close();
} catch (SQLException s) {
logMessage("Exception thrown w/ error message: "
+ s.getMessage());
s.printStackTrace();
finally {
try {
if (lStmt != null)
lStmt.close();
} catch (SQLException e) {
logMessage("SQLException: " + e);
private void processPrintMachineRecords() {
int number_of_recs = 0;
try {
PreparedStatement stmt = con.prepareStatement("SELECT TOP 1000 ID, Key, Filename, PrintedAt, CreatedAt, Doctype, Language,OU, TransactionID, DocumentID, RequestID, Template, Pages, Documenttext, TimesReceived FROM PM_DATA.dbo.History" );
ResultSet rst = stmt.executeQuery();
while (rst.next()) {
number_of_recs++;
if (number_of_recs == max_number_of_records) break;
populate_staging_table(
rst.getString(1), rst.getString(2)
,rst.getString(3), rst.getString(4)
,rst.getString(5), rst.getString(6)
,rst.getString(7), rst.getString(8)
,rst.getString(9), rst.getString(10)
,rst.getString(11), rst.getString(12)
,rst.getString(13), rst.getString(14)
,rst.getString(15)
stmt.close();
rst.close();
mConn.commit();
} catch (SQLException ex) {
logMessage("SQLException: " + ex);
catch (Exception ex) {
logMessage("Exception:: " + ex);
closeSQLServerConnection();
public void runProgram(CpContext pCpContext) {
applName = "XXGFN";
String l_file_path = null;
mCtx = pCpContext;
//get handle on request completion object for reporting status
lRC = pCpContext.getReqCompletion();
// assign logfile
logFile = pCpContext.getLogFile();
// assign outfile
outFile = pCpContext.getOutFile();
// get the JDBC connection object
mConn = pCpContext.getJDBCConnection();
l_file_path = ((new File(outFile.getFileName())).getParent() == null ? ""
: (new File(outFile.getFileName())).getParent());
// get parameter list object from CpContext
ParameterList lPara = pCpContext.getParameterList();
while (lPara.hasMoreElements())
NameValueType aNVT = lPara.nextParameter();
if ( aNVT.getName().equals("APPLNAME") )
applName = aNVT.getValue();
/** openConection() Opens the connection to SQL Server Database*/
openConection() ;
logMessage("Before Calling processPrintMachineRecords()");
processPrintMachineRecords();
logMessage("After Calling processPrintMachineRecords()");
try{
setCompletion(ReqCompletion.NORMAL, "Request Completed Normal");
} catch (Exception e) {
setCompletion(ReqCompletion.ERROR, e.toString());
} finally {
pCpContext.releaseJDBCConnection();
* Sets the request completion status based on proper precedence. ERROR >
* WARNING > NORMAL
* @param pStatus
* Status of the request.
* @param pCompletionText
* Request's completion text.
public void setCompletion(int pStatus, String pCompletionText) {
if ((pStatus == ReqCompletion.ERROR)
|| ((pStatus == ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))
|| ((pStatus == ReqCompletion.NORMAL)
&& (mRequestStatus != ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))) {
mRequestStatus = pStatus;
lRC.setCompletion(pStatus, pCompletionText);
}ok
i used Template.java as input
useful MOS:
How To Create a Java Concurrent Program? [ID 827563.1]
Java Concurrent Program FAQ [ID 827575.1]
i used
//goto ms sql server 2008r2
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(
"jdbc:sqlserver://1.2.3.4:1433;databaseName=test;selectMethod=cursor",
"test", "test");
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}1.2.3.4 - ip of instance with sqlserver2008r2 :)
in your code
>
try {
logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "Attempting to connect to " + mSqlServerHost);
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
} catch (java.lang.ClassNotFoundException e) {
logMessage("openConection() ClassNotFoundException: " + e);
} catch (SQLException ex) {
logMessage("openConection() SQLException: " + ex);
>
try my case for Driver and Connection
put result .class file to needed directory
put sqljdbc4.jar to /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib
and for concurrent program option
-classpath /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes:/rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib/sqljdbc4.jaralso useful mos:
Classpath Setting of Third Party Jar Files in R12 Java Concurrent Program (JCP) [ID 1292694.1] -
Java Concurrent Program Errors out
Hi All,
Request you to help me in this issue as this is on high priority.
we have registered a Java Concurrent Program Named Genus Merge Two P45 Pdf's which gives the output in pdf format.
The concurrent program errors out showing the log as follows :
GENUS Custom: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
GEN_MERGE_TWO_PDFS module: Genus Merge Two P45 Pdf's
Current system time is 10-MAR-2010 07:10:43
Exception in static block of jtf.cache.appsimpl.AppsCacheLogger. Stack trace is: oracle.apps.fnd.common.AppsException: oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.fnd.profiles.Profiles.getProfileOption(Profiles.java:1509)
at oracle.apps.fnd.profiles.Profiles.getProfile(Profiles.java:362)
at oracle.apps.fnd.profiles.ExtendedProfileStore.getSpecificProfileFromDB(ExtendedProfileStore.java:210)
at oracle.apps.fnd.profiles.ExtendedProfileStore.getSpecificProfile(ExtendedProfileStore.java:169)
at oracle.apps.fnd.profiles.ExtendedProfileStore.getProfile(ExtendedProfileStore.java:148)
at oracle.apps.fnd.common.logging.DebugEventManager.configureUsingDatabaseValues(DebugEventManager.java:1201)
at oracle.apps.fnd.common.logging.DebugEventManager.configureLogging(DebugEventManager.java:1044)
at oracle.apps.fnd.common.logging.DebugEventManager.internalReinit(DebugEventManager.java:1013)
at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:980)
at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:967)
at oracle.apps.fnd.common.AppsLog.reInitialize(AppsLog.java:570)
at oracle.apps.fnd.common.AppsContext.initLog(AppsContext.java:593)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:570)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:524)
at oracle.apps.fnd.common.AppsContext.<init>(AppsContext.java:292)
at oracle.apps.fnd.common.WebAppsContext.<init>(WebAppsContext.java:1002)
at oracle.apps.jtf.cache.ArchitectureWrapper.createAppsContextWithDBCFile(ArchitectureWrapper.java:143)
at oracle.apps.jtf.cache.ArchitectureWrapper.createDefaultAppsContext(ArchitectureWrapper.java:107)
at oracle.apps.jtf.cache.ArchitectureWrapper.createAppsContext(ArchitectureWrapper.java:96)
at oracle.apps.jtf.cache.appsimpl.AppsCacheLogger.<clinit>(AppsCacheLogger.java:43)
at oracle.apps.jtf.cache.appsimpl.AppsCacheEnvironment.getCacheLogger(AppsCacheEnvironment.java:67)
at oracle.apps.jtf.cache.CacheManager.initCache(CacheManager.java:711)
at oracle.apps.jtf.cache.CacheManager.<clinit>(CacheManager.java:378)
at oracle.apps.fnd.cache.Cache.setCacheFullName(Cache.java:228)
at oracle.apps.fnd.cache.Cache.initCache(Cache.java:114)
at oracle.apps.fnd.cache.Cache.<init>(Cache.java:89)
at oracle.apps.fnd.cache.AppsCache.<init>(AppsCache.java:86)
at oracle.apps.fnd.cache.AolCaches.getCache(AolCaches.java:155)
at oracle.apps.fnd.profiles.Profiles.<clinit>(Profiles.java:241)
at oracle.apps.fnd.profiles.ExtendedProfileStore.init(ExtendedProfileStore.java:498)
at oracle.apps.fnd.profiles.ExtendedProfileStore.<init>(ExtendedProfileStore.java:119)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at oracle.apps.fnd.common.AppsContext.instantiateProfileStore(AppsContext.java:3959)
at oracle.apps.fnd.common.AppsContext.makeProfileStore(AppsContext.java:780)
at oracle.apps.fnd.common.Context.setProfileStore(Context.java:767)
at oracle.apps.fnd.common.Context.setProfileStore(Context.java:749)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:564)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:524)
at oracle.apps.fnd.common.AppsContext.<init>(AppsContext.java:292)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:141)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:124)
at oracle.apps.fnd.cp.request.Run.main(Run.java:127)
Caused by: oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.fnd.common.Pool.createObject(Pool.java:1321)
at oracle.apps.fnd.common.Pool.borrowObject(Pool.java:1062)
at oracle.apps.fnd.security.DBConnObjPool.borrowObject(DBConnObjPool.java:752)
at oracle.apps.fnd.security.AppsConnectionManager.borrowConnection(AppsConnectionManager.java:297)
at oracle.apps.fnd.common.Context.borrowConnection(Context.java:1720)
at oracle.apps.fnd.common.AppsContext.getPrivateConnectionFinal(AppsContext.java:2306)
at oracle.apps.fnd.common.AppsContext.getPrivateConnection(AppsContext.java:2243)
at oracle.apps.fnd.common.AppsContext.getJDBCConnection(AppsContext.java:2101)
at oracle.apps.fnd.common.AppsContext.getJDBCConnection(AppsContext.java:1910)
at oracle.apps.fnd.common.AppsContext.getJDBCConnection(AppsContext.java:1754)
at oracle.apps.fnd.common.AppsContext.getJDBCConnection(AppsContext.java:1767)
at oracle.apps.fnd.common.Context.getJDBCConnection(Context.java:1453)
at oracle.apps.fnd.cache.GenericCacheLoader.load(GenericCacheLoader.java:168)
at oracle.apps.fnd.profiles.Profiles.getProfileOption(Profiles.java:1500)
... 44 more
Caused by: java.lang.AbstractMethodError: oracle.sql.LnxLibThin.lnxnuc([BILjava/lang/String;)Ljava/lang/String;
at oracle.sql.NUMBER.toInt(NUMBER.java:414)
at oracle.jdbc.dbaccess.DBConversion.NumberBytesToInt(DBConversion.java:2959)
at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:4596)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:536)
at oracle.apps.fnd.security.ConnectionManager.setClientData(ConnectionManager.java:1497)
at oracle.apps.fnd.security.ConnectionManager.dbConnect(ConnectionManager.java:1446)
at oracle.apps.fnd.security.ConnectionManager.dbConnect(ConnectionManager.java:1325)
at oracle.apps.fnd.security.AppsConnectionManager.makeGwyuidConn(AppsConnectionManager.java:884)
at oracle.apps.fnd.security.AppsConnectionManager.getGwyuidConn(AppsConnectionManager.java:962)
at oracle.apps.fnd.security.AppsConnectionManager.makeGuestConnection(AppsConnectionManager.java:780)
at oracle.apps.fnd.security.DBConnObj.<init>(DBConnObj.java:246)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at oracle.apps.fnd.common.Pool.createObject(Pool.java:1308)
... 57 more
Exception in static block of jtf.cache.CacheManager. Stack trace is: oracle.apps.jtf.base.resources.FrameworkException: oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.jtf.cache.CacheManager.initCache(CacheManager.java:718)
at oracle.apps.jtf.cache.CacheManager.<clinit>(CacheManager.java:378)
at oracle.apps.fnd.cache.Cache.setCacheFullName(Cache.java:228)
at oracle.apps.fnd.cache.Cache.initCache(Cache.java:114)
at oracle.apps.fnd.cache.Cache.<init>(Cache.java:89)
at oracle.apps.fnd.cache.AppsCache.<init>(AppsCache.java:86)
at oracle.apps.fnd.cache.AolCaches.getCache(AolCaches.java:155)
at oracle.apps.fnd.profiles.Profiles.<clinit>(Profiles.java:241)
at oracle.apps.fnd.profiles.ExtendedProfileStore.init(ExtendedProfileStore.java:498)
at oracle.apps.fnd.profiles.ExtendedProfileStore.<init>(ExtendedProfileStore.java:119)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at oracle.apps.fnd.common.AppsContext.instantiateProfileStore(AppsContext.java:3959)
at oracle.apps.fnd.common.AppsContext.makeProfileStore(AppsContext.java:780)
at oracle.apps.fnd.common.Context.setProfileStore(Context.java:767)
at oracle.apps.fnd.common.Context.setProfileStore(Context.java:749)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:564)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:524)
at oracle.apps.fnd.common.AppsContext.<init>(AppsContext.java:292)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:141)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:124)
at oracle.apps.fnd.cp.request.Run.main(Run.java:127)
Caused by: oracle.apps.jtf.base.resources.FrameworkException: oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.jtf.base.resources.FrameworkException.convertException(FrameworkException.java:607)
at oracle.apps.jtf.base.resources.FrameworkException.addException(FrameworkException.java:585)
at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:66)
at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:88)
at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:202)
at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:218)
at oracle.apps.jtf.base.resources.FrameworkException.<init>(FrameworkException.java:249)
... 24 more
Exception in thread "main" oracle.apps.fnd.common.PoolException: Exception creating new Poolable object.
at oracle.apps.fnd.common.Pool.createObject(Pool.java:1321)
at oracle.apps.fnd.common.Pool.borrowObject(Pool.java:1062)
at oracle.apps.fnd.security.DBConnObjPool.borrowObject(DBConnObjPool.java:752)
at oracle.apps.fnd.security.AppsConnectionManager.borrowConnection(AppsConnectionManager.java:297)
at oracle.apps.fnd.common.Context.borrowConnection(Context.java:1720)
at oracle.apps.fnd.common.AppsContext.getPrivateConnectionFinal(AppsContext.java:2306)
at oracle.apps.fnd.common.AppsContext.getPrivateConnection(AppsContext.java:2243)
at oracle.apps.fnd.common.AppsContext.getJDBCConnection(AppsContext.java:2101)
at oracle.apps.fnd.common.AppsContext.getLocalJDBCConnection(AppsContext.java:2481)
at oracle.apps.fnd.common.AppsContext.getLocalJDBCConnection(AppsContext.java:2416)
at oracle.apps.fnd.common.AppsContext.getLocalJDBCConnection(AppsContext.java:2397)
at oracle.apps.fnd.common.ProfileCache.getProfileObject(ProfileCache.java:110)
at oracle.apps.fnd.common.NativeProfileStore.getSpecificProfileFromDB(NativeProfileStore.java:375)
at oracle.apps.fnd.common.NativeProfileStore.getProfile(NativeProfileStore.java:314)
at oracle.apps.fnd.common.logging.DebugEventManager.configureUsingDatabaseValues(DebugEventManager.java:1201)
at oracle.apps.fnd.common.logging.DebugEventManager.configureLogging(DebugEventManager.java:1044)
at oracle.apps.fnd.common.logging.DebugEventManager.internalReinit(DebugEventManager.java:1013)
at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:980)
at oracle.apps.fnd.common.logging.DebugEventManager.reInitialize(DebugEventManager.java:967)
at oracle.apps.fnd.common.AppsLog.reInitialize(AppsLog.java:570)
at oracle.apps.fnd.common.AppsContext.initLog(AppsContext.java:593)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:570)
at oracle.apps.fnd.common.AppsContext.initializeContext(AppsContext.java:524)
at oracle.apps.fnd.common.AppsContext.<init>(AppsContext.java:292)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:141)
at oracle.apps.fnd.cp.request.CpContext.<init>(CpContext.java:124)
at oracle.apps.fnd.cp.request.Run.main(Run.java:127)
Caused by: java.lang.AbstractMethodError: oracle.sql.LnxLibThin.lnxnuc([BILjava/lang/String;)Ljava/lang/String;
at oracle.sql.NUMBER.toInt(NUMBER.java:414)
at oracle.jdbc.dbaccess.DBConversion.NumberBytesToInt(DBConversion.java:2959)
at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:4596)
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:536)
at oracle.apps.fnd.security.ConnectionManager.setClientData(ConnectionManager.java:1497)
at oracle.apps.fnd.security.ConnectionManager.dbConnect(ConnectionManager.java:1446)
at oracle.apps.fnd.security.ConnectionManager.dbConnect(ConnectionManager.java:1325)
at oracle.apps.fnd.security.AppsConnectionManager.makeGwyuidConn(AppsConnectionManager.java:884)
at oracle.apps.fnd.security.AppsConnectionManager.getGwyuidConn(AppsConnectionManager.java:962)
at oracle.apps.fnd.security.AppsConnectionManager.makeGuestConnection(AppsConnectionManager.java:780)
at oracle.apps.fnd.security.DBConnObj.<init>(DBConnObj.java:246)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at oracle.apps.fnd.common.Pool.createObject(Pool.java:1308)
... 26 more
Start of log messages from FND_FILE
End of log messages from FND_FILE
oracle.apps.genus.utils.MergePdfs
Program exited with status 1
Executing request completion options...
Finished executing request completion options.
Concurrent request completed
Current system time is 10-MAR-2010 07:10:47
---------------------------------------------------------------------------Hi,
FYI,
I am not sure about this error,
Use the following links, hope it may solve your problem,
http://oracleappstechnology.blogspot.com/2007/09/oracleappsfndcommonpoolexception.html
http://www.appsdbatechstuff.com/2008/06/java-workflow-mailer-does-not-startup.html
http://it.toolbox.com/wiki/index.php/Oracle_Apps_-JavaConcurrent_Program
Io exception: The Network Adapter could not establish the connection
Regards,
Hari -
Possible to extend java Concurrent Program and replace standard??
Hi All!
i have following developing need. There is a java concurrent program POXPOPDF (PO Output for Communication). The customer needs this program to do actually something complete different than printing the PO in PDF. The executable for this CP is java class PoGenerateDocumentCP in oracle.apps.po.communicate package.
We thought that we may be able to extend that class and then in some way made OA to use the extended java class instead of the standard. This is possbile and simple for OA Framework pages unsing classes as controllers, but I don't know how it could be done for CP (if there's a way to do it without violent intervention in standard system).. Is it possbile, can anyone help me with this.
The thing is that instead of reformatting the XML returned from PO_COMMUNICATION_PVT.POXMLGEN (function POXMLGEN in database package PO_COMMUNICATION_PVT) into PDF we want to reformat into another XML and then send it in other way to a webservice. Once I have the XML from POXMLGEN I have no problem to reformat it into another XML (I think, I have done it iwith other issues/processes). The webservice and the call to it is no problem and is already use with other purposes in other processes, but here (replaceing this stadard java class for an extension/new one) I am a little lost.
Appreciate very much your help.
Regards,
PatriciaNever mind, I see now that FND_REQUEST.SUBMIT_REQUEST() really does work, I tried with a different standard java concurrent program and it worked fine, and then I figured out that my parameters into fnd_request.submit_request for concurrent program APXVVCF4 were not correct (application short name was invalid for concurrent program).
Thanks for the Info!
Maybe you are looking for
-
Every time I start iTunes I get the message: "iTunes exec has been set to run in compatability mode for an older version of Windows. Turn off compatability mode for iTunes before you open it." How do I turn off the compatability mode? Particularly wh
-
XML IDOC post to R/3 Via WAS - want to see error content with JavaScript
Hi, I am posting XML IDOCs to our R/3 system via a webpage that I have built with JavaScript. I am posting to the WAS, which is configured to read the XML IDOC with SAP's standard class handler CL_HTTP_IDOC_XML_REQUEST. We are on basis 620 support
-
How do I include the heading of the table of contents in the table of contents?
I am preparing a table of contents in InDesign CS3 (Macintosh OSX 10.5.8) I have added all the paragraph styles to the list of paragraph styles I want to appear in my Table of Contents. However, I would also like the table of contents itself to appea
-
Access SOA suite installed on VM via the host operating system
Hello All, Is it possible to create connection to SOA Servers/Domain/WLS which are part of VM from the Host machine on which VM is running. If yes , how do I configure the same. thanks
-
Hi I have a JTree and whan to enable mutiple selection i.e. the user holds down the CTRL key and selects as many item as s/he wishes. I tried the follow piece of code but it did not work. jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel