Concurrent processing & file.renameTo(...)
Hi,
I've can successfully move a file in the single thread/process environment using file.renameTo
However in the multithreaded/multiple process environment, the initial file is several MB (about 100mb). It is created on the fly outside of my thread and takes several minutes to build.
I would like to rename it after the file is finished building.
In my code I do the following:
boolean success = false;
while (! success)
success = inputFile.renameTo(dest);
QuickSleep(1500); // Performs a Thread.sleep in a try/catch
I've seen some weird behavior however. On a windows box the renameTo seems to return false if the other process is still writing to the file. However on linux the .renameTo is returning true even though the file hasn't finished building.
The end result on linux is I end up with two files. One that got renamed and is partially filled and the other original with the rest of the file.
Is there a way to know when the file isn't being written by another process/thread?
Thanks in advance.
if by now you still have the problem (FYI this is working on AIX) have a look at my solution:
for (int i = 0; i < dir.listFiles().length; i++) {
try {
Process p = Runtime.getRuntime().exec("/usr/sbin/fuser " + dir.listFiles().getAbsolutePath());
p.waitFor();
InputStream in = p.getInputStream(); // we have to read the stream to verify if there is a process id
int c = in.read();
String stream = "";
while (c != -1) {
stream = stream + (char)c;
c = in.read();
if (stream.trim().length() > 0) {
logger.info("File: " + dir.listFiles()[i] + " is in use by process ID:" + stream);
try {
Thread.sleep(5000); //sleep for 5 sec
} catch (InterruptedException e){
// the VM doesn't want us to sleep anymore,
// so get back to work
continue;
} catch (Exception e) {
logger.error("fuser exception: " + e.getMessage());
Similar Messages
-
Concurrent Request 를 처리하는 File과 Tables
제품 : AOL
작성날짜 : 2003-12-02
Concurrent Request 를 처리하는 File과 Tables
=================================================
PURPOSE
이 Note는 Concurrent Reqeust output & Log 의 저장위치와 DB내 저장되는
Object들에 대한 설명입니다. Purge Concurrent Request and Output을 실행할때 다음 table들의 해당 record들이 삭제됩니다.
Explanations
- FND_CONCURRENT_REQUESTS
This table contains a complete history of all concurrent requests and
stores information about all submitted jobs(requested directly or by a
report set) within applications.
There's one request_id for each requested job in this tables.
- FND_RUN_REQUESTS
When a user submits a report set, this table stores information about the
reports in the report set and the parameter values for each report.
Stores information about all request sets submittted within applications.
Columns parent_request_id and request_id reflect the job# for the
report-set and the jobs it calls to.
- FND_CONC_REQUEST_ARGUMENTS
This table records arguments passed by the concurrent manager to each program
it starts running.
FND_DUAL
This table records when requests do not update database tables.
FND_CONCURRENT_PROCESSES
This table records information about Oracle Applications and operating system
processes.
FND_CONC_STAT_LIST
This table collects runtime performance statistics for concurrent requests.
FND_CONC_STAT_SUMMARY
This table contains the concurrent program performance statistics generated by
the Purge Concurrent Request and/or Manager Data program.
The Purge Concurrent Request and/or Manager Data program uses the data in
FND_CONC_STAT_LIST to compute these statistics.
FND_CONC_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for each
submitted request. There's a concurrent_request_id here for each request_id
in the FND_CONCURRENT_REQUESTS.
FND_RUN_REQ_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for
submitted request set programs that are stored in FND_RUN_REQUESTS.
Reference Documents
Note 132823.1 -
COncurrent process fails with warning for OPP
Concurrent process generates xml output (version 5.6.2) .
When it tries to publish it , the log suggests checking out the OPP log.
The OPP log has a series of java entries for the request, including one of the type
Caused by: oracle.xdo.parser.v2.XPathException: Expected 'QNAME' instead of ''.
header of the OPP log says
Resolution History
18-OCT-06 20:36:05 GMT
Can you easily recover from, bypass or work around the problem? = NO
Does your system or application continue normally after the problem occurs? =
YES
Are the standard features of the system or application still available; is the
loss of service minor? = YES
### Informational Only:Warning Presented to Customer ###
You chose 'Other technical issues with this product' from the Type of Problem
list. This is a generic Service Request form which will require additional time
to be routed appropriately. You may be able to expedite the resolution of your
Service Request by doing the following: 1. Use your browser’s back button to
return to the Create a SR – Brief Description page. 2. Select an option from
the Type of Problem list that more closely describes the problem.
### Requested files:ACT(Note 183274.1),RDA (Note 175853.1). Files to be loaded.
None
### Detailed Problem Statement ###
Concurrent process for XML Publisher fails with warning. Cannot see Diagnostics
--> XML output completely. Only first page visible. Buttons and Menu items
disabled not allowing to view the whole XML file to troubleshoot for
correct/incorrect tags.
Attached are OPP Manager log file, Screen shot of 'Preview' output jjst before
submitting request. Also log file of failed concurrent request which contains
standard error " See OPP Service log file for more".
### Steps to Reproduce Problem ###
Registered a concurrent process with XML template , and running the process
from Receivables Manager responsibility.
Ran concurrent process for 1) Standard RAXINV report , with output method as
'XML'. 2) Customised RAXINV report, with output method as 'XML'
### Instance Name(s) and Type of System(s) Where Error Occurs ###
Lunix, 11.5.10 on 10g
### Recent Changes to this Environment ###
None
### Workarounds Used ###
None
### How is this Issue Impacting Your Business ###
Business is readying for CRP3, so would like to have reports ready by then.
Contact me via : MetaLink
18-OCT-06 20:48:07 GMT
The customer : [email protected] : has uploaded the following file via MetaLink:
C:\Documents_and_Settings\broy\BareEscentuals\Reports\Errors\XML_Pub1.bmp
18-OCT-06 20:49:14 GMT
The customer : [email protected] : has uploaded the following file via MetaLink:
C:\Documents_and_Settings\broy\BareEscentuals\Reports\Errors\XMLPublisher_java.t
xt
18-OCT-06 21:17:26 GMT
Hi Bashobi,
Thank you for using MetaLink. We are currently reviewing/researching the situation and will update the SR as soon as we have relevant information
Best Regards,
Bill
Oracle Support Services
STATUS
=======
@WIP -- Work In Progress
18-OCT-06 21:18:04 GMT
Email Update button has been pressed: Sending email to [email protected].
18-OCT-06 21:21:45 GMT
ISSUE CLARIFICATION
====================
On 11.5.10.2 in Production:
Find concurrent process for XML Publisher fails with warning. Cannot see Diagnostics
--> XML output completely. Only first page visible. Buttons and Menu items
disabled not allowing to view the whole XML file to troubleshoot for
correct/incorrect tags.
EXPECTED BEHAVIOR
Expect the processes run successfully
STEPS
The issue can be reproduced at will with the following steps:
1. Registered a concurrent process with XML template .
2. Run the process from Receivables Manager responsibility.
3. Ran concurrent process for
1) Standard RAXINV report , with output method as 'XML'
2) Customised RAXINV report, with output method as 'XML'
BUSINESS IMPACT
The issue has the following business impact:
Business is readying for CRP3, so would like to have reports ready by then.
ACTION PLAN
============
Hi Bashobi,
1. Can you reproduce the issue from sysadmin responsibility with Active users report? if yes
please upload OPP log file after reproduce it and upload the request log file.
Thanks.
18-OCT-06 23:09:02 GMT
New info : [email protected] : Did the same as suggested, Request
completes successfully.
But what is the relation between Active Users report and a report sent via XML
Publisher?
19-OCT-06 15:54:26 GMT
ACTION PLAN
============
Hi Bashobi,
1. When you reproduce the issue from sysadmin responsibility with Active users report change the format out put to XML,
Save your change:
2. Upload OPP manager log file and upload the request log file.
Thanks,
Bill.
19-OCT-06 15:54:33 GMT
Email Update button has been pressed: Sending email to [email protected].
19-OCT-06 16:42:23 GMT
New info : [email protected] : Bill,
No, I could not reproduce the problem with Active Users program.
Attaching OPP manager log in the next update. Bashobi
19-OCT-06 17:05:07 GMT
New info : [email protected] : Bill, Attaching internal log and manager
log
Bashobi
19-OCT-06 17:06:08 GMT
The customer : [email protected] : has uploaded the following file via MetaLink:
C:\Documents_and_Settings\broy\BareEscentuals\Reports\Errors\OPP_internal_log.tx
t
19-OCT-06 17:07:10 GMT
The customer : [email protected] : has uploaded the following file via MetaLink:
C:\Documents_and_Settings\broy\BareEscentuals\Reports\Errors\OPP_manager_log.txt
19-OCT-06 18:14:32 GMT
UPDATE
=======
Hi Bashobi,
Thank you for providing the requested information.
Best Regards,
Bill
STATUS
=======
@WIP -- Work In Progress
19-OCT-06 18:14:36 GMT
Email Update button has been pressed: Sending email to [email protected].
19-OCT-06 18:59:25 GMT
DATA COLLECTED
===============
SCREEN SHOTS
XML_Pub1.bmp:
Error:
Jave.sql SQL Exception No corresponding LOB data found: select File_data_dbms_lob...........
LOG FILE
1. XMLPublisher_java.txt:
[10/18/06 11:16:57 AM] [5670:RT277479] Completed post-processing actions for request 277479.
[10/18/06 11:29:06 AM] [OPPServiceThread1] Post-processing request 277488.
[10/18/06 11:29:06 AM] [5670:RT277488] Executing post-processing actions for request 2
77488.
[10/18/06 11:29:06 AM] [5670:RT277488] Starting XML Publisher post-processing action.
[10/18/06 11:29:06 AM] [5670:RT277488]
Template code: XXBE_TEST_INV
Template app: AR
Language: en
Territory: US
Output type: null
[10/18/06 11:29:07 AM] [UNEXPECTED] [5670:RT277488] java.lang.reflect.InvocationTarg
etException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10/18/06 11:29:07 AM] [5670:RT277488] Completed post-processing actions for reque
st 277488.
2. OPP_manager_log.txt:
[10/19/06 5:22:36 AM] [main] Starting GSF service with concurrent process id = 5688.
[10/19/06 5:22:36 AM] [main] Initialization Parameters: oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
[10/19/06 5:22:37 AM] [Thread-12] Service thread starting up.
[10/19/06 5:22:37 AM] [Thread-13] Service thread starting up.
ISSUE VERIFICATION
=================
Issue veryfied by the screen shots: XML_Pub1.bmp which shows:
Jave.sql SQL Exception No corresponding LOB data found: select File_data_dbms_lob...........
ACTION PLAN
============
Hi Bashobi,
1. Since you can not reproduce the issue from sysadmin responsibility can we say the issue specific to Receivables Manager
responsibility<INV xml report>?
2. You said before: "Concurrent process for XML Publisher fails with warning. Cannot see Diagnostics
--> XML output completely. Only first page visible. Buttons and Menu items
disabled not allowing to view the whole XML file to troubleshoot for
correct/incorrect tags.":
Is the above mean :
-The xml publisher report completed but you can not view the whole XML file
-Or the xml publisher report error out with "Jave.sql SQL Exception No corresponding LOB data found: select File_data_dbms_lob.."
Thanks.
19-OCT-06 18:59:32 GMT
Email Update button has been pressed: Sending email to [email protected].
20-OCT-06 21:36:13 GMT
Email Update button has been pressed: Sending email to [email protected].
24-OCT-06 21:50:06 GMT
New info : [email protected] : Hi,
We are in the process of upgrading XML Publisher at the moment. I would like to
wait a day or two to test the report with the upgrade.
Thanks,Bashobi
26-OCT-06 20:15:07 GMT
New info : [email protected] : Hi,
Our DBA has applied the 5.6.2 patch on our dev instance. My concurrent process
runs to a warning.
The warnings in the OPP manager log file say
Template code: BE_RAXINV
Template app: XXBE
Language: en
Territory: US
Output type: PDF
[10/26/06 12:50:13 PM] [UNEXPECTED] [5849:RT281617]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Any idea?Hi All,
I have ran into the same issue.
"The Output Post-processor is running but has not picked up this request.
Any ideas.
Thanks
Ravi -
Single queue: concurrent processing of messages in multiple consumers
Hi,
I am new to jms . The goal is to process messages concurrently from a queue in an asynchronous listener's onMessage method by attaching a listener instance to multiple consumer's with each consumer using its own session and running in a separate thread, that way the messages are passed on to the different consumers for concurrent processing.
1) Is it ossible to process messsages concurrently from a single queue by creating multiple consumers ?
2) I came up with the below code, but would like to get your thoughts on whether the below code looks correct for what I want to accomplish.
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.walmart.platform.jms.client.JMSConnectionFactory;
public class QueueConsumer implements Runnable, MessageListener {
public static void main(String[] args) {
// Create an instance of the client
QueueConsumer consumer1 = new QueueConsumer();
QueueConsumer consumer2 = new QueueConsumer();
try {
consumer1.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON"); //US.Q.CHECKOUT-ORDER.1.0.JSON is the queue name
consumer2.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");
}catch( JMSException ex ){
ex.printStackTrace();
System.exit(-1);
// Start the client running
Thread newThread1 = new Thread(consumer1);
Thread newThread2 = new Thread(consumer1);
newThread1.start();newThread2.start();
InputStreamReader aISR = new InputStreamReader(System.in);
char aAnswer = ' ';
do {
try {
aAnswer = (char) aISR.read();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
} while ((aAnswer != 'q') && (aAnswer != 'Q'));
newThread1.interrupt();
newThread2.interrupt();
try {
newThread1.join();newThread2.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out
.println("--------------------exiting main thread------------------------"+Thread.currentThread().getId());
System.exit(0);
// values will be read from a resource properties file
private static String connectionFactoryName = null;
private static String queueName = null;
// thread safe object ref
private static ConnectionFactory qcf = null;
private static Connection queueConnection = null;
// not thread safe
private Session ses = null;
private Destination queue = null;
private MessageConsumer msgConsumer = null;
public static final Logger logger = LoggerFactory
.getLogger(QueueConsumer.class);
public QueueConsumer() {
super();
public void onMessage(Message msg) {
if (msg instanceof TextMessage) {
try {
System.out
.println("listener is "+Thread.currentThread().getId()+"--------------------Message recieved from queue is ------------------------"
+ ((TextMessage) msg).getJMSMessageID());
} catch (JMSException ex) {
ex.printStackTrace();
public void run() {
// Start listening
try {
queueConnection.start();
} catch (JMSException e) {
e.printStackTrace();
System.exit(-1);
while (!Thread.currentThread().isInterrupted()) {
synchronized (this) {
try {
wait();
} catch (InterruptedException ex) {
break;
* This method is called to set up and initialize the necessary Session,
* destination and message listener
* @param queue2
* @param factoryName
public void init(String factoryName, String queue2) throws JMSException {
try {
qcf = new JMSConnectionFactory(factoryName);
/* create the connection */
queueConnection = qcf.createConnection();
* Create a session that is non-transacted and is client
* acknowledged
ses = queueConnection.createSession(false,
Session.CLIENT_ACKNOWLEDGE);
queue = ses.createQueue(queue2);
logger.info("Subscribing to destination: " + queue2);
msgConsumer = ses.createConsumer(queue);
/* set the listener */
msgConsumer.setMessageListener(this);
System.out.println("Listening on queue " +queue2);
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
private static void setConnectionFactoryName(String name) {
connectionFactoryName = name;
private static String getQueueName() {
return queueName;
private static void setQueueName(String name) {
queueName = name;Hi Mark,
if the messages are sent with quality of service EO (=exactly once) you can add queues.
From documentation:
Netweaver XI -> Runtime -> Processing xml messages -> Queues for asynchronous message processing
...For incoming messages you set the parameter EO_INBOUND_PARALLEL from the Tuning category.
If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues.
Transaction: SXMB_ADM
Regards
Holger -
How to configure number of concurrent processes in XI?
Hi experts,
I have a simple interface:
FILE -> XI -> FILE
The input file is a huge file containing thousands of records.
XI will split the huge input files, so that each record gets written to one file each.
Owing to the huge number of files being generated, I have many messages in status = "To Be Delivered" in the RWB.
When I do a filter for status = "Delivering", I see 4 messages in that status. (Of course the message IDs will differ from time to time, but at any point in time, I can only see 4 messages with the status = "Delivering").
How can I increase the number of concurrent processes that produces the output files?
Please advise.
Thanks.
RonRon,
From this perfromance tuning guide , page 12 ,
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70ada5ef-0201-0010-1f8b-c935e444b0ad
<i>The Adapter Framework requires a set of fixed application threads within the J2EE Engine for proc-essing different internal messaging queues (AFW queue, BC Adapter, CIDX Adapter, and so on). Ad-ditionally, certain channel configurations also require a fixed set of application threads (for example, RFC sender channel, File adapter channels). This may require a higher number of application threads. Therefore, within the J2EE Engine configuration (configtool or Visual Admin), go to:
Global Configuration -> Server -> Kernel -> ApplicationThreadManager
Set the MaxThreadCount property to 300</i>
Not sure if this is the exact property but this is sure worth giving a shot.
Regards
Bhavesh -
After starting Apps. and going to the apllication manager I noticed that there is a X under concurrent processing and a tick under the others. Is this X a problem?
I didn't noticed any errors when running the startup scripts, all the exit stauses was 0. One thing though, when I do a ps - ef | grep FNDLIBR I get 7 lines resembling the follwoing:
applmgr 1385 1259 0 08:32 ? 00:00:00 FNBLIBR
applmgr 1388 1259 0 08:32 ? 00:00:00 FNDLIBR
I am running Linux Red Hat, with apps 11i.5.10.2 and the database is 9.2.0.6
Any help gratefulTry to start the concurrent manager with the below steps and post the output /Error displayed on screen
1.Log in as Applmgr
2.Execute the environmental file
3.Navigate to common_top/admin/scripts
4.Execute the command
./adcmctl.sh apps/apps start -
File.renameTo() and locking
Hi,
I would like to rename file, but File.renameTo() will not work if the file will be locked by some other process. If other process has locked the file, I would like to wait for it to release the lock. So I have:
FileLock lock = new RandomAccessFile(file, "rw").getChannel().lock(0L, Long.MAX_VALUE, false);
file.renameTo(destFile);
lock.release();But this does not work, because file is locked and renameTo does not work (returns false).
What can I do to lock the file myself (wait for other locks to be released) and to rename it (rename does not work when file is locked).
Regards
Pawel Stawickihi, I don't thik you have to lock the file yourself while renaming it because that is (from my point of view) an opperating system's job to do it.
you could maybe make a
while(! file.renameTo()){
thread.sleep(1000);
to wait till its unlocked.
I'm not sure that helps but that's just an idea -
Oracle Service Bus: Concurrency using File Transport Provider?
We're using the OSB File Transport Provider but we're not able to process files concurrently.
Each time processing of a file is started - processing of other files (in the stage directory) halts.
Does anyone know if this is a "feature", or are we missing out on some configuration?Do you have a clustered environment? What is the load? You may like to create a separate work-manager for your File proxy and assign appropriate number of threads to it.
Regards,
Anuj -
File.renameTo method issue
I have a Java program which processes upto 10000 text files a day. The average size of these files are 1KB to 2KB and the java program parses the contents of the text file, validates and loads them into a database table.
The program outline is as follows
File[] filesToProcess = sourceFolder.listFiles();
int fileCount = filesToProcess.length;
for (int i=0;i<fileCount;i++) {
File currentFile = filesToProcess;
MsgParser fileParser = new MsgParser(currentFile);
if ( fileParser.isMessageValid()) {
boolean uploadSuccess = fileParser.uploadToDB();
if (uploadSuccess) {
if (currentFile.renameTo(parseSuccessArchiveFile))
logger.info("File successfully moved to archive folder);
else
logger.info("File cannot be moved to archive folder);
} else {
if (currentFile.renameTo(parseFailureArchiveFile)
logger.info("Parser failed file moved to archive folder);
else
logger.info("Parser failed file cannot be moved to archive folder);
The above program outline works well. However the renameTo method is not renaming the parsed files successfully on all occasions. There is no performance issue involved here as the files keep streaming in throughout the day and the program is able to handle the parsing of the file(s) in a fraction of second.
The issue for me is that I keep picking the files to parse from the source folder at regular intervals ( after a full iteration of the files list, wait for 10 seconds before calling for a new set of files ) and cannot afford to have a failure in moving the file to the archive folder as otherwise, I end up parsing the same file multiple number of times, which I want to avoid.
Can anyone shed some light on the behavior of File.renameTo and how to make it work successfully?
SundarI am making the code more readable for you all and corrected some typo errors...
File[] filesToProcess = sourceFolder.listFiles();
int fileCount = filesToProcess.length;
for (int i=0;i<fileCount;i++) {
File currentFile = filesToProcess;
MsgParser fileParser = new MsgParser(currentFile);
boolean uploadSuccess = false;
if ( fileParser.isMessageValid())
uploadSuccess = fileParser.uploadToDB();
if (uploadSuccess) {
if (currentFile.renameTo(parseSuccessArchiveFile))
logger.info("File successfully moved to archive folder);
else
logger.info("File cannot be moved to archive folder);
} else {
if (currentFile.renameTo(parseFailureArchiveFile)
logger.info("Parser failed file moved to archive folder);
else
logger.
info("Parser failed file cannot be moved to archive folder);
} -
I have been tracking this down for a couple of days now and thought I would ask the forum for their input.
I have a very simple process that opens a file, reads in the data, writes some data to a DB, and them moves the file to a processed folder.
SOME of the instances I have running that are performing this process are moving the files into the wrong directory. I am going round and round with this
being an OS issue and/or jvm issue. The oddest thing is that the wrong directory that some of the processes write their files to is always the last
directory created under that particular filesystem.
System:
sun-jdk-1.5.0.06
Linux; SMP; 2.6.12
Process is run via shell script every 10 minutes where a directory is passed to the process, the process then looks in the directory for files,
does what it does, and then renames the file. ex. "LogProcessor /var/log/10.5.1.2/". The process should move the file to the folder /var/log/10.5.1.2/processed,
instead it is moving the file to "/var/log/10.5.1.52/processed". All of the debug code you see below is telling me that everything is what and where it should
be, however, it is not.
Other information: There are about 15 independent processes running started by separate shell scripts and all should be reading and writing to their respective folders.
Any input would be greatly appreciated.
CODE:
File dirName = new File(args[0]);
String[] files = dirName.list();
//test if directory actually has something we want
if (files != null) {
// loop through list of files found in directory
for (int i=0; i<files.length; i++) {
// Get filename of file or directory
if(debug)
System.err.println("File Extension: " + files.substring(files[i].length() - 3));
// test last 3 characters for file extension we need
if (files[i].substring(files[i].length() - 3).equalsIgnoreCase("log") || files[i].substring(files[i].length() - 3).equalsIgnoreCase("alm")) {
fileName = args[0] + files[i];
// Call each method respectively passing in all the local objects
if (alarms) {
logProcessor.alarmsProcessor(fileName, logFile, job, jobActions, errors, debug);
} else {
logProcessor.storeLogsProcessor(fileName, logFile, job, jobActions, errors, debug);
//SLD 11/28/2007: move the file to the processed folder after read
File file1 = new File(fileName); //this file already existed on the file system
File file2 = new File(args[0]+"processed/"+files[i]);
if (file1.renameTo(file2)) {
System.out.println("File "+files[i]+" Moved to processed folder "+ args[0] + "processed" + file2.toString());
System.out.println("From: " + file1.toString() + " To: " + file2.toString() );
} else {
System.out.println("File "+files[i]+" NOT Moved to processed folder "+ args[0] + " due to either permissions, folder nonexistant or file already exists");Well, just to update the issue. The problem has been solved. There was an entry into the list of IP's that was 10.58.?.??, which in the unix world is a special character/place holder for all
files/folders that resemble it. This was wreaking havoc on my java program when moving files.
Thanks, -
Linking PL\SQL procedure as Concurrent Process
Hi.
I'm link PL-proc as concurrent process, and it runs without any
errors.
Now I need also run it as standart report, but can't generate
output file to store any words to.
help.
mailto: [email protected]Thanks for your response.
I am writing a BPEL PM process for inserting AP Invoices by inserting data into the interface tables, and then executing the corresponding concurrent program (APXIIMPT). I would like to trap any errors and send them back to the BPEL process.
One suggestion on how to do this is to write a pl/sql procedure which inserts the data, executes the concurrent program, collects any error messages, and passes them back via OUT parameters. Such a procedure could be called using an adapter from BPEL PM.
So the issue for this forum is how to make the single pl/sql procedure wait for completion of the concurrent process.
Alternatively, is there a business event raised when the concurrent process completes? -
Creating database problem with ORA-01519: error while processing file '' ne
Dear all,
I am having rough time with creating database manually. can anyone help me with the following errors.
ALERT LOGFILE:-
Sun May 31 12:00:39 2009
Errors in file d:\oracle\product\10.1.0\admin\oracle5\udump\oracle5_ora_3444.trc:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '%ORACLE_HOME%\RDBMS\ADMIN\SQL.BSQ' near line 5744
ORA-00604: error occurred at recursive SQL level 1
ORA-01119: error in creating database file 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.
Error 1519 happened during db open, shutting down database
USER: terminating instance due to error 1519
Sun May 31 12:00:39 2009
Errors in file d:\oracle\product\10.1.0\admin\oracle5\bdump\oracle5_reco_3416.trc:
ORA-01519: error while processing file '' near line
CREATE DATABASE SCRIPT:-
create database ORACLE5
user sys identified by bala
user system identified by bala
logfile
group 1 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo01.log') SIZE 50M,
group 2 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo02.log') SIZE 50M,
group 3 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo03.log') SIZE 50M
maxlogfiles 5
maxlogmembers 5
maxloghistory 1
maxdatafiles 50
maxinstances 1
datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5\datafile\system01.dbf' size 200m autoextend on maxsize unlimited extent management local
undo tablespace UNDOTBS1 datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf' size 10m autoextend on maxsize unlimited
sysaux datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5\datafile\sysaux01.dbf' size 100m autoextend on maxsize unlimited
default temporary tablespace temp tempfile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\temp01.dbf' size 10m autoextend on maxsize unlimited
character set US7ASCII
NATIONAL CHARACTER SET AL16UTF16
INIT.ORA FILE:-
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
# Archive
log_archive_format=ARC%S_%R.%T
# Cache and I/O
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
# Cursors and Library Cache
open_cursors=300
# Database Identification
db_domain=""
db_name=oracle5
# Diagnostics and Statistics
background_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\bdump
core_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\cdump
user_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\udump
# File Configuration
#db_create_file_dest=D:\oracle\product\10.1.0\oradata
db_recovery_file_dest=D:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size=2147483648
# Job Queues
job_queue_processes=10
# Miscellaneous
compatible=10.1.0.2.0
# Pools
java_pool_size=50331648
large_pool_size=8388608
shared_pool_size=83886080
# Processes and Sessions
processes=150
# Security and Auditing
remote_login_passwordfile=EXCLUSIVE
# Shared Server
dispatchers="(PROTOCOL=TCP) (SERVICE=oracle5XDB)"
# Sort, Hash Joins, Bitmap Indexes
pga_aggregate_target=25165824
sort_area_size=65536
# System Managed Undo and Rollback Segments
undo_management=AUTO
undo_tablespace=UNDOTBS1
control_files=("D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE5\CONTROLFILE\control01.CTL", "D:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\ORACLE5\CONTROLFILE\control02.CTL")Hi,
undo tablespace UNDOTBS1 datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf' size 10m autoextend on maxsize unlimited
After ORACLE5 there is a space character. Typo? Create proper directory or delete this character.
Bartek -
I receive the following error by creating dataabse as below sql:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 401
ORA-00604: error occurred at recursive SQL level 1
ORA-01119: error in creating database file '/sisdev04/dbs/users01.dbf'
ORA-27039: create file failed, file size limit reached
Additional information: 1
CREATE DATABASE SISDEV04
LOGFILE GROUP 1 ('/sisdev04/dbs/log01a.dbf','/sisdev04/dbs/log01b.dbf') SIZE 10M,
GROUP 2 ('/sisdev04/dbs/log02a.dbf','/sisdev04/dbs/log02b.dbf') SIZE 10M
NOARCHIVELOG
CHARACTER SET ZHT16BIG5
NATIONAL CHARACTER SET ZHT16BIG5
DATAFILE '/sisdev04/dbs/system01.dbf'
SIZE 210M AUTOEXTEND OFF
, '/sisdev04/dbs/rbs01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/temp01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/users01.dbf'
SIZE 1050M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_index_ivr01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_ivr01.dbf'
SIZE 21M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_ems01.dbf'
SIZE 21M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_index_ems01.dbf'
SIZE 21M AUTOEXTEND OFF
I have issue df to check the directory sisuat04
/ >df
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 98304 45664 54% 2446 10% /
/dev/hd2 2097152 78992 97% 30280 12% /usr
/dev/hd9var 65536 20536 69% 308 4% /var
/dev/hd3 294912 262432 12% 147 1% /tmp
/dev/hd1 49152 5712 89% 1290 21% /home
/dev/mfcobol 81920 25520 69% 608 6% /mfcobol
/dev/magiclv 81920 22304 73% 346 4% /usr/magic
/dev/sispro02lv 6553600 6347792 4% 18 1% /sisdev02
/dev/sispro03lv 6553600 6347784 4% 19 1% /sisdev03
/dev/sisappllv 229376 173288 25% 1846 7% /sisappl
/dev/lvbaklog 98304 85552 13% 68 1% /app/bak_log
/dev/noteslv0 1048576 541352 49% 2195 2% /notes
/dev/noteslv1 4194304 1479304 65% 5269 2% /notesrv
/dev/noteslv2 2097152 898128 58% 51 1% /notesrv/sitesch
/dev/lvoracle 2097152 237240 89% 8280 4% /opt/oracle
/dev/u01lv 4194304 128720 97% 11697 3% /u01
/dev/sisdev01lv 4096000 3021552 27% 27 1% /sisdev04
Is is still a not enough space problem?I receive the following error by creating dataabse as below sql:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 401
ORA-00604: error occurred at recursive SQL level 1
ORA-01119: error in creating database file '/sisdev04/dbs/users01.dbf'
ORA-27039: create file failed, file size limit reached
Additional information: 1
CREATE DATABASE SISDEV04
LOGFILE GROUP 1 ('/sisdev04/dbs/log01a.dbf','/sisdev04/dbs/log01b.dbf') SIZE 10M,
GROUP 2 ('/sisdev04/dbs/log02a.dbf','/sisdev04/dbs/log02b.dbf') SIZE 10M
NOARCHIVELOG
CHARACTER SET ZHT16BIG5
NATIONAL CHARACTER SET ZHT16BIG5
DATAFILE '/sisdev04/dbs/system01.dbf'
SIZE 210M AUTOEXTEND OFF
, '/sisdev04/dbs/rbs01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/temp01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/users01.dbf'
SIZE 1050M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_index_ivr01.dbf'
SIZE 105M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_ivr01.dbf'
SIZE 21M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_ems01.dbf'
SIZE 21M AUTOEXTEND OFF
, '/sisdev04/dbs/ts_index_ems01.dbf'
SIZE 21M AUTOEXTEND OFF
I have issue df to check the directory sisuat04
/ >df
Filesystem 512-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 98304 45664 54% 2446 10% /
/dev/hd2 2097152 78992 97% 30280 12% /usr
/dev/hd9var 65536 20536 69% 308 4% /var
/dev/hd3 294912 262432 12% 147 1% /tmp
/dev/hd1 49152 5712 89% 1290 21% /home
/dev/mfcobol 81920 25520 69% 608 6% /mfcobol
/dev/magiclv 81920 22304 73% 346 4% /usr/magic
/dev/sispro02lv 6553600 6347792 4% 18 1% /sisdev02
/dev/sispro03lv 6553600 6347784 4% 19 1% /sisdev03
/dev/sisappllv 229376 173288 25% 1846 7% /sisappl
/dev/lvbaklog 98304 85552 13% 68 1% /app/bak_log
/dev/noteslv0 1048576 541352 49% 2195 2% /notes
/dev/noteslv1 4194304 1479304 65% 5269 2% /notesrv
/dev/noteslv2 2097152 898128 58% 51 1% /notesrv/sitesch
/dev/lvoracle 2097152 237240 89% 8280 4% /opt/oracle
/dev/u01lv 4194304 128720 97% 11697 3% /u01
/dev/sisdev01lv 4096000 3021552 27% 27 1% /sisdev04
Is is still a not enough space problem? i think you have specified 1050m for users01.dbf file, your file system /sisdev04 has something like
1.5gb of free space. it failed because of lack of free space. may be you can reduce your datafile size or try to
create in another filesystem. -
How to Compile & Deploy the Java Concurrent Program File
Hi,
There is a requirement to create the Java Concurrent Program in Oracle eBusiness. I am able to create the Java Concurrent Program file. But unable to do the following things:
1.Since it is custom file, which location I will deploy the file?
2. How to compile the file?
3. In the execution file path and executable file name what should I specify for JCP?
Please guide me.
ThanksPlease see (How to register and execute Java Concurrent Program ?in Oracle Applications R11i ? [ID 186301.1]) for the complete steps (i.e. define concurrent program and add it to the request group, .etc.) -- This is also applicable to R12.
You may also see:
Classpath Setting of Third Party Jar Files in R12 Java Concurrent Program (JCP) [ID 1292694.1]
Integrating Custom Applications with Oracle Applications [ID 176852.1]
Java Concurrent Program FAQ [ID 827575.1]
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 -
Issue while archiving the processed file in sender communication channel using SFTP adapter
Hi All,
In one of my scenario (File to IDOC), we are using SFTP sender communicationchannel.
we are facing an issue while archiving the processed file. Some times PI processed the file successfully but unable to archive it and in the next poll PI process & archives the same file successfully which will creates duplicate orders in ECC.
Please let us know how to resolve this issue.Hi Anil,
Refer Archiving concepts in below links.
http://help.sap.com/saphelp_nw73/helpdata/en/44/682bcd7f2a6d12e10000000a1553f6/content.htm?frameset=/en/44/6830e67f2a6d12e10000000a1553f6/frameset.htm
http://scn.sap.com/docs/DOC-35572
Warm Regards,
DNK Siddhardha.
Maybe you are looking for
-
Problem refering to a custom activity in a SharePoint 2013 workflow
I have created a few custom activities to handle common tasks in a workflow. The activities are deployed in a separate sandbox solution from the workflows referencing them. This has been working fine for a couple of months now, but suddenly I get an
-
How to execute commands from Java
hi, i m trying to execute a CVS command from a java environment. i m writing this code to create a user. for this i m executing this cvs command "cmd /c cvs passwd -r <username> -a <new-username>" after executing this cmd the command prompt will prom
-
I cant update ios6 in my IPAD2 it says " error occurred in installation". what shall i do
can you help me install IOS 6 in my IPAD? when i start installing it displays " error occurree". why?
-
Change Owner/Reviewer Of Report
I have a request to change the ownership / review / individual on a report in our system that compares PRs to POs. I know the name of the program and variant of the report, as well as the user data that needs to be changed. Please advise on how I can
-
Boxed LR5 upgrade serial number invokes "not valid" message
I've been an LR user from version 1. I buy each upgrade in a box, this time, only after the trial expired. It's from Amazon (not marketplace), so should be genuine. I'm logged in with my Adobe ID, and Adobe registers my ownership of the LR upgrade, b