XML files removal after processing

I'm new to the world of XML processing but have done extensive investigation on XSU processing to take an XML document and load the data into a Relational data base table. We are currently on Oracle 9i database but soon going to 10g.
We will be having an outside vendor send us XML files throughout the day into a Unix directory for processing(the directory would only be used for this process). The current plan is to have a job run every xx minutes via a Database job (DBMS_JOB.SUBMIT) to access the XML document from the Unix directory via BFILENAME and DBMS_LOB statements to retrieve the file and then to use DBMS_XMLSAVE.insertXML to load the data into a database table.
Sample program is listed below.
My questions are:
- Is there a way to copy the file after we have processed it by appending a date time stamp to it and then removing the original from the Unix directory from a PL/SQL procedure so as to not process the same file?
- How would I know that multiple files exist in the directory at once and how best to process them?
Thanks for any help you can give.
Tom
----------------------------------------------------------------------------------------------------------------------SAMPLE PROGRAM:
Create or replace procedure LOAD_XML as
v_table VARCHAR2(20) := 'XMLDATA.xml';
v_file BFILE;
v_row INTEGER;
v_insCTX DBMS_XMLSAVE.ctxTYPE;
v_clob CLOB;
BEGIN
v_file:= BFILENAME('XML_DIRECTORY'. v_table);
DBMS_LOB.open(v_file);
DBMS_LOB.createtemporary(v_clob, true, dbms_lob.session);
DBMS_LOB.loadfromfile(v_clob, v_file, dbms.log.getlength(v_file));
DBMS_LOB.fclose(v_file);
v_insCTX := DBMS_XMLSAVE.newContext('XML_DB_TABLE'');
DBMS_XMLSAVE.SetIgnoreCase(v_insCTX, 1);
DBMS_XMLSAVE.SetCommitBatch(v_insCTX, 1);
DBMS_XMLSAVE.SetBatchSize(v_insCTX, 1);
v_row := DBMS_XMLSAVE.insertXML(v_insCTX,v_table);
DBMS_XMLSAVE.closeContext(v_insCTX);
end;

As a follow up for all those reading this and wanting to know the answer, I ended up using UTL_FILE.FREMOVE and UTL_FILE.FCOPY. You could also use UTL_FILE_FRENAME.
Tom Vereecke

Similar Messages

  • Converting Dom Document object into XML file removes the DTD

    Hi All
    My xml is dtd. I have one xml file. i changed the node value after that i want to create a xml file with the same name. I created new xml file but i am not seeing the old dtd in the new file. This process is done with the help of jaxp.
    My code is given below
    File fileInput = new File("input.xml");
              File fileOutput = new File("output.xml");
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              factory.setExpandEntityReferences(false);
              DocumentBuilder builder = factory.newDocumentBuilder();
              Document document = builder.parse(fileInput);
              TransformerFactory tFactory = TransformerFactory.newInstance();
              Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "true");
              transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
              DOMSource source = new DOMSource(document);
              FileOutputStream fos = new FileOutputStream(fileOutput);
              StreamResult result = new StreamResult(fos);
              transformer.transform(source, result);
    Thanks in advance

    The Transformer API does not guarantee the preservation of that information. You may want to check the DOM L3 Load/Save package (http://java.sun.com/javase/6/docs/api/index.html). Alternatively, you may force things by setting the additional output properties 'doctype-public' and 'doctype-system'.

  • XML file conversion after sender file content conversion

    Hi,
    I have issue refarding file content conversion.
    My input structure is
    <MT_RCICrecords>
    <TRNH>
      <RCIC>
        <RECH>
        <RECL>
      <RCIC>
    <TRNH>
    Afetr sender File content conversion (csv to xml) it produces xml file as below (since file conversion does not support 3rd level of hierarchy)
    <TRNH>
    <RECH>
    </RECH>
    <RECL>
    </RECL>
    </TRNH>
    It does not recognize RCIC.
    Now i am trying to map this to IDOC and getting error as
    'MT_RCICRecords tag found instead of IDOC BEGIN ='.
    CAn anyone suggest me how to chaage this xml output after File content conversion to add RCIC tag in xml file?
    I am new to XI so please give me some sample code to.
    Thanks.
    Yashpal
    Its urgent!

    My problem is xml generated from content conversion is like below
    <MT_RCICrecords>
    <TRNH></TRNH>
    <RECH></RECH>
    <RECL></RECL>
    <TRLR></TRLR>
    </MT_RCICrecords>
    and i want it to be
    <MT_RCICrecords>
    <TRNH></TRNH>
    <RCIC>
    <RECH></RECH>
    <RECL></RECL>
    </RCIC>
    <TRLR></TRLR>
    </MT_RCICrecords>
    which is not happening
    My input message structure is
    MT_RCICrecords
    TRNH
    RCIC
    RECH
    RECL
    i hope it is clear now
    TRLR

  • Rename file in file adapter after processing

    Hi All,
    My requirement is, i need to rename the file in receiver file adapter after the file is written to the folder. and this file should have a counter attached to its name. For eg. If i had a file created with name Material, i want to change it to Order001, Order002, Order003.... so on and counter should reset after 999. how can i achecive it?
    thanks a lot in advance.
    Regards,
    Rashmi
    Edited by: Rashmi H S on Jul 15, 2009 12:15 PM

    Hi Rshmi,
    use this UDF i hope it will work fine,
    DynamicConfiguration conf = (DynamicConfiguration) container
         .getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
    String a=conf.get(key);
    int inc = 1;
    Integer seqNo = (Integer) container.getParameter("seqNo");
    if(seqNo == null || seqNo ==999){
                                seqNo = new Integer(inc);
    else{
                               int num = seqNo.intValue() + inc;
                               seqNo = new Integer(num);
    container.setParameter("seqNo", seqNo);
    return var1+seqNo.toString();
    Regards,
    Raj

  • Config.xml file missing after using pack/unpack (WebLogic 12c)

    Hi,
    When I use the utilities pack/unpack to "copy" a domain from one physical server to another one, I end up with the config directory where there is no config.xml file while on the source physical there is of course this file.
    If I use the scp command (I work under Linux) to "copy" the domain I do not encounter problem and I can start the Node Manager and the WebLogic server.
    Did someone faced this situation?
    How did you solved it? Or, is there something that I am missing?
    Kind Regards.

    Hi all!
    I am having the same problem with WebLogic Workshop 8.1 SP4.
    Any idea?
    Thanks in advance.

  • What is XML file in After Effects

    When you go to File>Save As>Save As XML what kind of file is this used for?
    Thanks,
    joe

    It's an alternative project file format. It's not particularly useful in its current form, but it is intended to become a way to access elements of a project as plain text.

  • File removal after Archive and Install.

    So I reinstalled OS X.
    Now I have the previous system files in a nice little folder.
    In my current applications folder all my old applications are there, ready to use.
    In the archived OS the applications are there too, is it okay to delete these or will they delete the ones in the current application folder? I didn't move them over from the archive, they was already there.
    When I started to delete them it said a lot of the files were still in use.
    Am I free to delete all the files in the archive or do I need to drag them over to the correct current folders?
    Thanks.

    Deromi:
    As Carolyn said, it ok to delete any and everything in the Previous Systems folder. Indeed, you can just drag the entire folder to the Trash and empty. If you want to be cautious, just in case sort of thing, you can save the Users folder or your Home folder on an external or removable disk before deleting.
    cornelius

  • [BPEL Designer] "Link" a no-XML file to the process

    Hi people,
    In my study case, a user have to upload a file (Excel file for example) via a portlet in a user task. The file have to be send to his boss for approvement. The boss have to open the file - with his software - , read it, and after approve or not in his "user task".
    But how to model this in Oracle BPEL Designer ? I don't see anything in "user task" element.
    Thanks for help :-)

    Hai
    What u've said is correct. I can't send anything other than sring in response. To send it from servlet, i hope i have to use ServletOutputStream.
    Like ServletOutputStream sos = response.getOutputStream;
    sos.print(" Text from Servlet");
    This is how i am coding to send data from servlet to client. Is this correct.
    Thanks for ur response,
    Pooja.

  • Looking for a way to move a rejected xml file after loading it

    Hi all,
    I'm currently looking for a solution to do the following:
    I've loaded multiple xml files into an external table and after firing a few queries on that external table, I've moved the xml data into a normal oracle table
    depending on a few values which need to be met (e.g. last two digits of column a need to be the same as the last two digits of column b)
    All of this works fine, but I'd like to be able to move the xml files which don't meet these requirements to another folder on the filesystem named e.g. 'rejected'
    now, my shell script just moves all the xml files to a processed folder after loading them into an external table.
    I've looked at utl_file.frename but I need to be able to automatically move more than one file if neccesary instead of filling in one filename in the frename statement.
    (maybe the filenames need to be entered into a separate table?)
    Thanks in advance and your help is much appreciated!

    You can look through some of the different Layouts available.
    Select your page.
    Click the "Layout" icon on the lower right hand of the application window.
    Above it will appear a "BACKGROUND" section and a "LAYOUT" section.
    Immediately below the "LAYOUT" is a drop down menu which will show you all the different options.

  • Junk Characters in the output XML file after Parsing

    Hi
    I am using DOM parser to parse an XML file.
    After parsing the input XML file, i am fetching some contents
    from the same and also putting the same contents in the parsed output file which is also an XML file.
    The problem here is that the after putting the contents to the output XML file from the input XML file,
    some junk character appears at the end of each and every tag in the outputfile.
    The junk character is some thing like this : " ampersand hash thirteen and a semicolon "
    (*THE MESSAGE DID NOT ACCEPT THE SYMBOLS KINDLY TRANSLATE THE ABOVE WORDINGS*
    INTO SYMBOLS)
    This character gets appended at the end of each and every tag in the output file due to which the output file
    is not recognised as an XML file.
    Please let me know as to why is this character appearing and also please suggest some solution
    for the same.
    -Thanks in Advance.
    Edited by: itskarthik on Oct 10, 2008 7:16 AM
    Edited by: itskarthik on Oct 10, 2008 7:18 AM
    Edited by: itskarthik on Oct 10, 2008 7:19 AM
    Edited by: itskarthik on Oct 10, 2008 7:19 AM
    Edited by: itskarthik on Oct 10, 2008 7:23 AM
    Edited by: itskarthik on Oct 10, 2008 7:23 AM

    Wierd.
    Try this piece of code. (You can always change it to use input file and output file instead of string if you want)
    What is your output?
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Result;
    import javax.xml.transform.Source;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    public class XMLTest {
         public static void main(String[] args) throws Exception {
              String input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" +
                                  "<test>\r\n" +
                                  "</test>";
              System.out.println("Input:");
              lookForCR(input);
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              Document doc = factory.newDocumentBuilder().parse( new ByteArrayInputStream(input.getBytes()) );
              Source source = new DOMSource(doc);
              ByteArrayOutputStream bArrOut = new ByteArrayOutputStream();
              Result result = new StreamResult( new StripOutputStream( bArrOut ) );
              Transformer xformer = TransformerFactory.newInstance().newTransformer();
              xformer.transform(source, result);     
              System.out.println("\nResult:");
              lookForCR(bArrOut.toString());
              System.out.println("\nDone");
         public static void lookForCR(String input) throws Exception {
              char[] chars =input.toCharArray();
              for ( char chr : chars ) {
                   if (chr == 13 ) {
                        System.out.println("Has 0x0D character!!");
    class StripOutputStream extends OutputStream {
         OutputStream out = null;
         public StripOutputStream(OutputStream out) {
              this.out = out;
         @Override
         public void write(int b) throws IOException {
              if ( b != 13 )
                   out.write(b);
    }- Roy

  • Can you use an XML file to make Subclips for you?

    Hi everyone,
    I know this is a bit of a long-shot, but I am wondering if I can use an XML file(made after logging a few tapes, but before capture) to make subclips for me?
    Basically I have a painful project with 2 tapes i had to capture separately as 1 long individual clip each due to time-code breaks, but as i did first Log & Capture as usual (only to later find it wouldn't batch capture) i didn't want my hard work to go to waste!
    Hope I explained that clearly enough,
    Adam
    Message was edited by: Chocboy

    I'm assuming you captured using the non-controllable device setting and have the clip including TC breaks and blank areas etc.
    Try this:
    Load the clip into the Viewer and play it. Press M to set markers wherever you want them.
    If you want to give the marker a more decriptive name, press M a second time whilst the playhead is positioned on the marker. A dialog will open with text input fields. Or, click the marker in the Browser, then click the marker’s name to select it. You can now change the name.
    Drag in the Browser to select all the markers or click the first one, then shift click the last one.
    Choose Modify > Make Subclip. This will make all the subclips in one go and if you gave your markers new names, your subclips will use them.
    The subclips appear in addition to the original clip with the markers. You can rename the subclips, if you want. You can review the subclips, deleting any clips you might not need. If you do remove unused clips, you can use the Media Manager to remove your unused footage from disk, leaving the media for your remaining subclips alone.

  • Xml file with DTD in jar file

    Dear all,
    I developed an application using NetBeans which lets you create XML files.
    The process of creating the new XML file, set the attribute Doctype of these files to the DTD (fileXML.dtd) present in the build / classes / Dtd that is loaded during implementation through:
    URL url=ClassLoader.getSystemClassLoader().getResource("Dtd/fileXML.dtd");so the attribute Doctype XML files created will have the location of the DTD fileXML.dtd:
    <?xml version="1.0"?>
    <!DOCTYPE AGSet SYSTEM "file:/F:/Documents%20and%20Settings/ioXp/Desktop/mioProgramma/build/classes/Dtd/fileXML.dtd">
    Well. After completing the development of the program, I created the executable miaApplicazione.jar (in which he was pulled inside your full Buil, including build / dtd) by the option of NetBeans "Build Main Project."
    Double-clicking the file miaApplicazione.jar the program runs properly.
    The problem now is that when I create the XML file by mioProgramma.jar, they will refer to this DTD within miaApplicazione.jar and consequently when trying to open these files XML message appears:
    Protocol specified unknown. Error processing resource "jar:file:/F:/Documents%20and%20Settings/ioXP/...
    <?xml version="1.0"?>
    <!DOCTYPE AGSet SYSTEM "jar:file:/F:/Documents%20and%20Settings/ioXp/Desktop/miaApplicazione/...
    What is the solution for this problem?
    Hi
    ELVIO

    Hi swanelvis ,
    I have the same issue. Were you able to resolve this ?
    Thanks

  • Does anyone have a good server.xml file for tomcat?

    I am trying to link apache and tomcat on a RedHat 9 computer. I previously posted a message stating that I could not get tomcat to "automagically" make the configuration files (mod_jk.conf-auto) that all the manuals promised it would. However, I found that my problem was the lack of an ApacheConfig tag in the server.xml file. After looking at my server.xml file, I found that it was much more simplistic than I would hoped = it did not have enough comments or commented out options. It had none of the directives that the manuals said it included by default.
    In short, does anyone who has apache and tomcat linked have a server.xml file that I can look at so that I can figure out what I must add to mine to get tomcat working with apache? I would greatly appreciate it if you could copy and paste the whole thing here.
    Thank you very much in advance.
    Edward S. Rice

    Hi!
    I am having the Apache-Tomcat4.0 version installed on a Win2000 machine. I am pasting here my server.xml. Hope it will be useful to you. I even didnot do much modifications to my server.xml except for adding a context.
    Please come back if problem persists.
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN" debug="0">
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Tomcat-Standalone">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 4.0 documentation bundle for more detailed
    instructions):
    * Download and install JSSE 1.0.2 or later, and put the JAR files
    into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
    port="8080" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0" connectionTimeout="60000"/>
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to -1 -->
    <!-- Define an SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
    port="8443" minProcessors="5" maxProcessors="75"
    enableLookups="true"
         acceptCount="10" debug="0" scheme="https" secure="true">
    <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
    clientAuth="false" protocol="TLS"/>
    </Connector>
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--
    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
    port="8009" minProcessors="5" maxProcessors="75"
    acceptCount="10" debug="0"/>
    -->
    <!-- Define a Proxied HTTP/1.1 Connector on port 8081 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
    port="8081" minProcessors="5" maxProcessors="75"
    enableLookups="true"
    acceptCount="10" debug="0" connectionTimeout="60000"
    proxyPort="80"/>
    -->
    <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8082 -->
    <!--
    <Connector className="org.apache.catalina.connector.http10.HttpConnector"
    port="8082" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="10" debug="0"/>
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Standalone" defaultHost="localhost" debug="0">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.3
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Global logger unless overridden at lower levels -->
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="catalina_log." suffix=".txt"
    timestamp="true"/>
    <!-- Because this Realm is here, an instance will be shared globally -->
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority?user=test;password=test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL?user=scott;password=tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host -->
    <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn"
    debug="0"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common"/>
    <!-- Logger shared by all Contexts related to this virtual host. By
    default (when using FileLogger), log files are created in the "logs"
    directory relative to $CATALINA_HOME. If you wish, you can specify
    a different directory with the "directory" attribute. Specify either a
    relative (to $CATALINA_HOME) or absolute path to the desired
    directory.-->
    <Logger className="org.apache.catalina.logger.FileLogger"
    directory="logs" prefix="localhost_log." suffix=".txt"
         timestamp="true"/>
    <!-- Define properties for each web application. This is only needed
    if you want to set non-default properties, or have web application
    document roots in places other than the virtual host's appBase
    directory. -->
    <!-- Tomcat Root Context -->
    <!--
    <Context path="" docBase="ROOT" debug="0"/>
    -->
              <Context path="/vijay" docBase="D:\Java\servlets" debug="0"/>
    <!-- Tomcat Manager Context -->
    <Context path="/manager" docBase="manager"
    debug="0" privileged="true"/>
    <!-- Tomcat Examples Context -->
    <Context path="/examples" docBase="examples" debug="0"
    reloadable="true">
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="localhost_examples_log." suffix=".txt"
         timestamp="true"/>
    <Ejb name="ejb/EmplRecord" type="Entity"
    home="com.wombat.empl.EmployeeRecordHome"
    remote="com.wombat.empl.EmployeeRecord"/>
    <!-- PersistentManager: Uncomment the section below to test Persistent
              Sessions.
    saveOnRestart: If true, all active sessions will be saved
    to the Store when Catalina is shutdown, regardless of
    other settings. All Sessions found in the Store will be
    loaded on startup. Sessions past their expiration are
    ignored in both cases.
    maxActiveSessions: If 0 or greater, having too many active
    sessions will result in some being swapped out. minIdleSwap
    limits this. -1 means unlimited sessions are allowed.
    0 means sessions will almost always be swapped out after
    use - this will be noticeably slow for your users.
    minIdleSwap: Sessions must be idle for at least this long
    (in seconds) before they will be swapped out due to
    maxActiveSessions. This avoids thrashing when the site is
    highly active. -1 or 0 means there is no minimum - sessions
    can be swapped out at any time.
    maxIdleSwap: Sessions will be swapped out if idle for this
    long (in seconds). If minIdleSwap is higher, then it will
    override this. This isn't exact: it is checked periodically.
    -1 means sessions won't be swapped out for this reason,
    although they may be swapped out for maxActiveSessions.
    If set to >= 0, guarantees that all sessions found in the
    Store will be loaded on startup.
    maxIdleBackup: Sessions will be backed up (saved to the Store,
    but left in active memory) if idle for this long (in seconds),
    and all sessions found in the Store will be loaded on startup.
    If set to -1 sessions will not be backed up, 0 means they
    should be backed up shortly after being used.
    To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
    and minIdleBackup all to -1, saveOnRestart to false, then restart
    Catalina.
    -->
              <!--
    <Manager className="org.apache.catalina.session.PersistentManager"
    debug="0"
    saveOnRestart="true"
    maxActiveSessions="-1"
    minIdleSwap="-1"
    maxIdleSwap="-1"
    maxIdleBackup="-1">
    <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>
              -->
    <Environment name="maxExemptions" type="java.lang.Integer"
    value="15"/>
    <Parameter name="context.param.name" value="context.param.value"
    override="false"/>
    <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
    type="javax.sql.DataSource"/>
    <ResourceParams name="jdbc/EmployeeAppDb">
    <parameter><name>user</name><value>sa</value></parameter>
    <parameter><name>password</name><value></value></parameter>
    <parameter><name>driverClassName</name>
    <value>org.hsql.jdbcDriver</value></parameter>
    <parameter><name>driverName</name>
    <value>jdbc:HypersonicSQL:database</value></parameter>
    </ResourceParams>
    <Resource name="mail/Session" auth="Container"
    type="javax.mail.Session"/>
    <ResourceParams name="mail/Session">
    <parameter>
    <name>mail.smtp.host</name>
    <value>localhost</value>
    </parameter>
    </ResourceParams>
    </Context>
    </Host>
    </Engine>
    </Service>
    <!-- The MOD_WEBAPP connector is used to connect Apache 1.3 with Tomcat 4.0
    as its servlet container. Please read the README.txt file coming with
    the WebApp Module distribution on how to build it.
    (Or check out the "jakarta-tomcat-connectors/webapp" CVS repository)
    To configure the Apache side, you must ensure that you have the
    "ServerName" and "Port" directives defined in "httpd.conf". Then,
    lines like these to the bottom of your "httpd.conf" file:
    LoadModule webapp_module libexec/mod_webapp.so
    WebAppConnection warpConnection warp localhost:8008
    WebAppDeploy examples warpConnection /examples/
    The next time you restart Apache (after restarting Tomcat, if needed)
    the connection will be established, and all applications you make
    visible via "WebAppDeploy" directives can be accessed through Apache.
    -->
    <!-- Define an Apache-Connector Service -->
    <Service name="Tomcat-Apache">
    <Connector className="org.apache.catalina.connector.warp.WarpConnector"
    port="8008" minProcessors="5" maxProcessors="75"
    enableLookups="true"
    acceptCount="10" debug="0"/>
    <!-- Replace "localhost" with what your Apache "ServerName" is set to -->
    <Engine className="org.apache.catalina.connector.warp.WarpEngine"
    name="Apache" debug="0" appBase="webapps">
    <!-- Global logger unless overridden at lower levels -->
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="apache_log." suffix=".txt"
    timestamp="true"/>
    <!-- Because this Realm is here, an instance will be shared globally -->
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    </Engine>
    </Service>
    </Server>

  • Java and XML :: Unlocking, editing and locking an XML file using JAVA

    I need to develop a form with Address field , When i enter address information and submit the form it needs to generate an
    XML file for furthur processing.
    Now my problem is :
    When i want to edit the address....after submitting the form by entering the address information, it should unlock
    the XML and edit the XML and then lock it.
    How can i achive programatically, unlocking an XML file, editing the file, and locking it?.
    Thanks,
    Maruthi.

    There's a FileLock class, you know, in the java.nio.channels package. However before you start using it you should read its API documentation carefully including statements like " Whether or not a lock actually prevents another program from accessing the content of the locked region is system-dependent and therefore unspecified".
    Personally I would say that if you need to synchronize access to this XML file, you should consider changing your design to use something that supports locking a bit better, like a database. Or by writing a server that encapsulates the XML file and accepts requests to read it and update it, serializing those requests appropriately.

  • Catching a not well formed xml file

    I have a method that parses many xml files and after each one is processed they are entered into a mysql database. My problem is that when an xml file is found not to be well formed the input process into the mysql database stops.
    Thus, my question is: how do I get my program to stop trying to enter the failing file data into my mysql database and continue with the next one...at the same time that it tells me the name of the file that is causing the problem (this second part has been solved). My parsing method looks as follows:
    private Document parseXmlFile(String _filename, boolean _validating){
              try{
                   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                   factory.setValidating(_validating);
                   Document doc = factory.newDocumentBuilder().parse(new File(_filename));
                   return doc;
              } catch(SAXException e){
                   System.out.println("Bad XML");
              catch(ParserConfigurationException parserconfigurationexception){     
              catch(IOException ioexception){
                   System.out.println("Could not read source file: " + ioexception.getMessage());
              return null;
         }then, the method that calls for this method and the xml data extraction method (which also works) is as follows:
    private void addFile(String _xmlPath){
              Document xmlFile = parseXmlFile(_xmlPath, false);
              addMyDoc(xmlFile);
         }

    Thanks! that worked like a charm. I have one more question though. I know my program works because I have tested it every step of the way. However, I never contemplated that it could fail because of the a memory error. The program crashes randomly with a certain number of documents.
    My program is suppose to handle about 3,000 documents at a time. And it does, if I break it up the parsing from the mysql input. If I place both pieces together, I get the following error that I don't even know how to begin to fix or diagnose (I am using eclipse for lack of experience running java on the command line):
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
         at java.util.Vector.<init>(Vector.java:111)
         at java.util.Vector.<init>(Vector.java:124)
         at java.util.Vector.<init>(Vector.java:133)
         at org.apache.xerces.dom.DeepNodeListImpl.<init>(Unknown Source)
         at org.apache.xerces.dom.ElementImpl.getElementsByTagName(Unknown Source)
         at form4Code.Form4Db.addDerTranLine(Form4Db.java:1072)
         at form4Code.Form4Db.addFile(Form4Db.java:53)
         at form4Code.Form4Db.loadFiles(Form4Db.java:44)
         at form4Code.Form4Db.run(Form4Db.java:36)
         at form4Code.Form4Db.setDirectory(Form4Db.java:32)
         at form4Code.FindXml.setDirectory(FindXml.java:28)
         at form4Code.FindXml.<init>(FindXml.java:10)
         at form4Code.Run.go(Run.java:36)
         at form4Code.InsiderPanel$2.actionPerformed(InsiderPanel.java:133)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6038)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
         at java.awt.Component.processEvent(Component.java:5803)
         at java.awt.Container.processEvent(Container.java:2058)
         at java.awt.Component.dispatchEventImpl(Component.java:4410)
         at java.awt.Container.dispatchEventImpl(Container.java:2116)
         at java.awt.Component.dispatchEvent(Component.java:4240)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
         at java.awt.Container.dispatchEventImpl(Container.java:2102)
         at java.awt.Window.dispatchEventImpl(Window.java:2429)
         at java.awt.Component.dispatchEvent(Component.java:4240)Edited by: jsidgman on Feb 24, 2008 9:59 AM

Maybe you are looking for

  • Default JSTL URI can't be resolved

    I have the following as the first line of my JSP: <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> When I access the page I get the following error message from Tomcat (version 5.5): The absolute uri: http://java.sun.com/jstl/core cannot

  • My apple TV is not discovering my devices. what do i do?

    my apple TV is not discovering my devices. what do i do?

  • Picking BranchGroup

    Hi! I having problem with picking. I use the Starfires loader Inspector3DS, and its really complicated to traverse the 116 branches that it creates for one big model, to set the capability bits for the leaf nodes. I would like to get sample code for

  • PO Print in Different Language

    Dear All, I had Inserted new Header Text in IMG.While taking the Printout in STD output type in Print Preview the Text are Showing in Different Langauge. I have Log on into System using Language EN. Can anybody guide me.

  • ABOUT THE HR-ABAP

    Hi, i hope every body is doing good. Here i am having the query on payroll. Here i want to retrive the payroll result for india, in the payroll data i want know the wage types which are belogs to infotypes 0008,0014 and 0015. a immediate reply will b