Reload Classes with J2EE

Hello,
Tomcat reloads automatically the classes when you modify them.
With J2EE, when I modify a class I have to redeploy the application to reload my new classes or my modified classes.
Somebody knows if we can reload automatically classes in J2EE ???
Thanks

to redeploy WebApp classes without restarting tomcat...
- copy classes to [TOMCAT_HOME]\webapps\{YourWebApp}\WEB-INF\classes
- go to Tomcat Web Application Manager (http://host:8080/manager/html)
- select 'Reload' for your webapp
This will bin the old WebApp classloader and create a new one, using the new class versions.
Simply copying classes to the webapps directory doesn't seem to trigger this (and the new classes can't be reloaded into the existing ClassLoader).
(Win XP Pro / tomcat 4.1.18)

Similar Messages

  • Reloading classes with Tomcat

    Hi
    Im running Tomcat as my localhoost when I develop JSP-solutions.
    I have also recently started to write servlets which I think is a nice way to work except for one thing, when I recompile my classes I have to restart Tomcat to see the change. But there must be a way to set Tomcat to reload the classes when I hit the update button or Ctrl-F5 in my browser. Can someone help me with this?
    Thanks in advance / Regards PG

    Have a look here; http://www.moreservlets.com/Using-Tomcat-4.html
    Under section "configure tomcat", have a look the step No.5
    Hope it helps. Gook luck.

  • Object vs Class base authorization concepts with J2EE/JAAS

    Hello,
    I'm evaluating J2EE and JAAS and I'm wondering how I can implement my business model using these techniques:
    As far as I understand JAAS, it's a class based authorization architecture. What I need is an object based architecture, specially when using CMP entity beans.
    Is it possible to design an object based access control based on JAAS and (perhaps) CMP entity beans?
    More detailed:
    Let's look at a simple (web-) application: A database contains only a table with documents, a document consists of an ID (primary key) and some plain text.
    I've got two EJB, one for editing documents and one for reading documents.
    Now I can easily design my application with J2EE and JAAS:
    An "editor" role with access on the edit bean and a "reader" role with access on the reader bean.
    The document class could be easily implemented as a CMP entity.
    BUT: What happens if I need a restriction on WHAT documents a user/role can edit/read, in other words, if authorization is not controlled by the EJB (code/class based) but by the ID (primary key/object based).
    E.g.
    User1 should have read access on Doc1, but not on Doc2.
    User2 should have read and write access on Doc2, but not on Doc1...
    As far as I understand JAAS, it's not possible to solve this problem using JAAS. If this is right, then I have to implement my own authorization system, JAAS could only be used for authentication. In this case, JAAS is just a tier in the security concept, just like different database users with restricted access to different tables and fields.
    If I'm right, then it's not possible (or possible but it makes no sense) to use CMP entity beans, because I can't use the "automatic" authorization pattern (I have to call my own access control system before invoking the entity bean, and so my clients loose some of their "leightweight").
    Regards,
    Jens

    Hi,
    I have study JAAS with J2EE for the last two months, don't know whether my ideas can help you. I believed JAAS was designed for java programmer who wanted to have security implement in there application but do not want to write the security themself. JAAS provided a robust system so that someone else can come alone to plug in the security module and security would be implemented.
    Base on your problems, I think what you should do is to have what know as a security access level implement in your object. When you uses JAAS to verify username & password, you can get user's access level as well maybe from LDAP server attribute, store in your principal. So whenever you want to check whethere you're a editor or author.
    You have to identify what is business logic and security logic access level is a business logic, therefore you will have to implement in your application tier. There is no perfect solution, but having these module will save you lots of coding and flexibility.
    Cheers,
    ps: Please correct me if my view are wrong.

  • How to use j2se 1.4 logging features with j2ee 1.3

    Hi,
    We have developed an EJB that will run in the j2ee 1.3 container of weblogic 5.0
    We would like to use the logging features of j2se 1.4 in our ejb.
    Can this be done ?
    How do I install and use j2se 1.4 a long side of j2ee 1.3 ?
    Is this a recognised configuration ?
    Many Thanks,
    Mark.

    Is it possible to install j2se 1.4 on the same machine
    that is running weblogic with j2ee 1.3 ? Yes.
    If it is.... How do we do it ?Just install it in different directory - the installer will do this for you by default anyway.
    How do we protect our code running in the j2ee 1.3 container from
    mistakenly using the classes provided with j2se 1.4 ?Thats what PATH and CLASSPATH environment variables are for. Read the tutorials on the left there for more information.
    Do we end up with 2 separate VMs one a implementing
    j2ee 1.3 and one a j2se 1.4 ?You end up with as many as you run.
    Every time you run java (java.exe on windows, just plain java on UNIX) you run the version of the VM that's on your PATH.
    It's quite normal to have (on the same machine) a 1.3 VM running Weblogic and a number of 1.4 VM's as clients of that Weblogic installation.
    I think I'm right in saying that 1.4 VM's are (in some cases) regarded by BEA as supported clients of a Weblogic server running in a 1.3 VM, but you'd have to check their e-docs site for exact details.

  • In which case we need a class with all methods defined as abstract ?

    In which case we need : A class with all methods defined as abstract (or should we go for Interface always in this case)

    The concept of interface and abstract class overlaps sometime, but we can have the following thumb rule to use them for our specific need:
    1) Interface: This should be use for code structuring. They standardize your application by providing a specific contract within and outside. If you think abstract class also provide structure, then reconsider as it limits the structure re-usability when there are many super-classes to inherit from. Java allow multiple inheritance by interface and not by Abstract class.
    2) Abstract Class: This should be use for code-reusability. Interface doesn't have any code so can't be used for code-reusability.
    Actually we can use both to provide the best.Taking a refernce to J2EE framework, the "Servlet" is an interface. It laids down the contract/structure for any code to be a servlet.
    But the "GenericServlet" class is an abstract class which provides implementation of some of the methods defined in the "Servlet" interface and leave some method abstract.
    Thus we see that the "Servlet" interface standardise the structure and the "GenericServlet" abstract class gives code re-usability.
    Original Question:
    In which case we need a class with all methods defined as abstract ?To this question, as all methods are abstarct we don't have option for code-reusability. so why not add standard structure concept to your application. So if there is not any restriction on making the field variable(if any) as final, we should go with the interface concept.

  • Urgent! Serious problem with J2EE Classloader!

    Hi all,
    I'm having a serious problem with j2ee Classloading.
    I have "inherited" a J2EE application where all business classes (invoked by the EJB) are placed in the Application's Server classpath (Weblogic 8.1.4).
    Very bad because every time a class is changed the a.s. must be restarted.
    So I re-enginereed the package putting the business classes in a jar that is referenced by the EJB's MANIFEST file.
    This way all the classes would be loaded by the EJB classloader and no need to start/stop weblogic.
    Unfortunately it's not such !! I discovered that all business classes are loaded via REFLECTION
    Object objCommand = objClass.newInstance();
    Object[] param = new Object[1];
    param[0] = aDataContainer;
    objDataContainerReturn = (DataContainer) objMethod.invoke(objCommand,param);
    and the application server cannot find them using the standard J2EE Classloader mechanism.
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at irma.business.Dispatcher.callService(Dispatcher.java:70)
    Caused by: java.lang.NoClassDefFoundError: irma/utility/log/LogPrintStream
    at irma.business.service.LoginService.login(LoginService.java:79)
    On the other hand they're found if I put the classes on the application server classpath.
    Has anybody got advice for this ? Should I refactor the application giving up reflection ?
    Thanks a lot in advance.

    Reflection uses the classloader as well so it should work fine.
    A common cause of a NoClassDefFoundError is something in a parent classloader that refers to something only available in a child loader.
    For instance, do you have any of your application classes which are in the $CLASSPATH but reference something that is only (now) in the business.jar in your ear?
    -- Rob
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Configuring mysql with J2EE

    Hi Im a newbie in J2EE. (just started learning it 2 days back that new..;-)
    I managed to set up a simple application using the J2ee tutorial. Now i want to try out a database application. I have a mysql database installed. Can anyone guide me on how to setup mysql with j2ee server? Are there any online tutorials etc that would help me in this?
    I actually managed to create a connection pool however when i try to ping it i get an error message with says "An error has occurred. Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Class name is wrong or classpath is not set for : org.gjt.mm.mysql.jdbc2.optional.MysqlDataSource" .
    I hav already set classpath of mysql driver. Do i need to copy the jar file to any other directory?
    Im not too sure if the way i have created connection pool is right, but i used the defaults specified so i guess that should be ok.
    Any Help would be appreciated.
    Thanks in advance.

    Hi! I�m Brazilian and I�ve been learning the English language yet, but I�ll try to describe how to configure J2EE with MySQL.
    I am using MySQL version 4.1.7 with J2EE version 1.3 on Windows XP Professional. The driver version of MySQL is 3.0.16.
    You have to configure the following two files:
    - <J2EE_HOME>\bin\setenv.bat
    - <J2EE_HOME>\config\resource.properties
    Do the following steps:
    1) Copy the JAR file of MySQL driver (mysql-connector-java-3.0.16-ga-bin.jar) to <J2EE_HOME>\lib directory.
    2) In <J2EE_HOME>\bin directory open the setenv.bat file and analize the code. It is not hard to understand the code, it is just the classpath configuration of J2EE. After understand it, add a reference of MySQL driver (mysql-connector-java-3.0.16-ga-bin.jar), that was copied to <J2EE_HOME>\lib directory.
    3) Run the <J2EE_HOME>\bin\j2eeadmin.bat to configure the resource.properties file.There are two command lines to be executed, as below:
    - j2eeadmin.bat -addJdbcDriver <CLASS NAME OF THE DRIVER>
    - j2eeadmin.bat -addJdbcDatasource <JNDI NAME> <URL>
    For example:
    - j2eeadmin.bat -addJdbcDriver "com.mysql.jdbc.Driver"
    - j2eeadmin.bat -addJdbcDatasource "jdbc/mysql/test" "jdbc:mysql://localhost/test?user=username&password=pass"
    4) After run j2eeadmin.bat, the resource.properties file will be modified. But when I did it and when I executed the verbose command to start J2EE, some error messages was exhibited. So I decided to open the resource.properties file and I noticed hat the character "\" was added erroneously in a lot of places of the code. It did not seem correct, so I decided to remove these characters replacing them. Bingo!!! After I did it, I run verbose again and no more message error ocurred. I think it is a bug of J2EE.
    Finish! I modified the datasource JNDI to access MySQL and then I run my EAR application. No problems occurred. My application is running succesfully.
    Good luck!

  • Compiler problems with J2EE

    Hi,
    I�am only new to the J2EE platform but have experience with J2SE. I have installed J2EE 1.4 and Tomcat server 5.0.28 to study for the Web Component Developer Exam.
    When I go to compile my java files, the compiler doesn�t not recognise the J2EE parts of the file. I have imported the correct classes (even the import statements, it doesn�t recognise!) and when I compile, the errors are associated with J2EE classes (i.e. doesn�t recognise HttpServlet....)
    I compile in command prompt by typing: javac myFile.java.
    I am aware that the file servlet-api.jar is required for these J2EE extras when compiling and I think this is my problem. I have put the location of this file on my classpath (set classpath=.;C:\fileDir\servlet-api.jar) by it still fails to compile. I have also put this location of the file directly into my PATH by this doesnt help!
    Can anybody help me out with this configuration problem?
    Thanks very much for any help!

    You need to have j2ee.jar (which can be found in <j2ee_install_dir>/lib directory in your classpath in order to successfully compile.

  • Tomcat web context with j2ee server

    Hi everybody!
    Can anyone tell me how to add a web context to tomcat when it is running with j2ee server, since it no longer reads the ./conf/server.xml file.
    Thank you.

    Hi!
    Sun's J2sdkee1.3 is built on tomcat server. When tomcat is started up by j2sdkee it doesn't load (or ignores) the ./conf/server.xml file where should be defined the web context used by tomcat, like:
    <Context path="/examples" docBase="D:/path/to/examples"
    debug="0"
    reloadable="true"
    trusted="true" >
    </Context>
    And I cannot find a way to add a context which has a different document base as the one defined in the ./config/web.properties
    thanks.

  • How to configure MySQL to be used with J2EE 1.3.1 -- Very Very URGENT.

    Hi All,
    I have downloaded Sun's J2EE reference implementation 1.3.1. I want to use MySQL as my database instead of the default database Cloudscape that comes with J2EE SDK 1.3.1. Can any one help me configuring in doing the same.
    Thanks and regards,
    Venky.

    Hi! I had the same problem, too. I�m Brazilian and I�ve been learning the English language yet, but I�ll try to describe how to configure J2EE with MySQL.
    I am using MySQL version 4.1.7 with J2EE version 1.3 on Windows XP Professional. The driver version of MySQL is 3.0.16.
    You have to configure the following two files:
    - <J2EE_HOME>\bin\setenv.bat
    - <J2EE_HOME>\config\resource.properties
    Do the following steps:
    1) Copy the JAR file of MySQL driver (mysql-connector-java-3.0.16-ga-bin.jar) to <J2EE_HOME>\lib directory.
    2) In <J2EE_HOME>\bin directory open the setenv.bat file and analize the code. It is not hard to understand the code, it is just the classpath configuration of J2EE. After understand it, add a reference of MySQL driver (mysql-connector-java-3.0.16-ga-bin.jar), that was copied to <J2EE_HOME>\lib directory.
    3) Run the <J2EE_HOME>\bin\j2eeadmin.bat to configure the resource.properties file.There are two command lines to be executed, as below:
    - j2eeadmin.bat -addJdbcDriver <CLASS NAME OF THE DRIVER>
    - j2eeadmin.bat -addJdbcDatasource <JNDI NAME> <URL>
    For example:
    - j2eeadmin.bat -addJdbcDriver "com.mysql.jdbc.Driver"
    - j2eeadmin.bat -addJdbcDatasource "jdbc/mysql/test" "jdbc:mysql://localhost/test?user=username&password=pass"
    4) After run j2eeadmin.bat, the resource.properties file will be modified. But when I did it and when I executed the verbose command to start J2EE, some error messages was exhibited. So I decided to open the resource.properties file and I noticed that the character "\" was added erroneously in a lot of places of the code. It did not seem correct, so I decided to remove these characters replacing them. Bingo!!! After I did it, I run verbose again and no more message error ocurred. I think it is a bug of J2EE.
    Finish! I modified the datasource JNDI to access MySQL and then I run my EAR application. No problems occurred. My application is running succesfully.
    Good luck!

  • Synchronizing with J2EE transaction

    Hello,
    I am diving into Kodo's ability to synchronize with J2EE transactions. I
    have altered JDOFactory and added a method 'getEEPersistenceManager' which
    returns a new PM from a singleton EEPersistenceManangerFactory ( much the
    same way the code already worked for the JDBCpmFactory... ).
    I am using JBoss and added the line
    <tm-location>java:/TransactionManager</tm-location> to my system.prefs file
    as specified in the docs, but when I run my simple test case, I get a
    java.util.MissingResourceException: tm-location.
    Has anyone else tried integrating transactions with JBoss, and if so, did
    you have any problems like this? Sorry for the somewhat undetailed post, I
    know this is a bit of a long shot...
    Thanks in advance,
    Eric Lindauer

    READ the last part
    Abe's response:
    To use Kodo with an external datasource from JNDI, do the following:
    1. Make sure the system.prefs are set up correctly. Even though Kodo will
    be using an external datasource, it still needs to know how to connect to
    the DB itself so that it can use external connections for getting sequence
    numbers and getting the list of persistent classes (if you're not using the
    <persistent-types> array in prefs).
    If you like, the system.prefs can point Kodo to a different database than
    your production one, so long as you don't mind Kodo creating a sequence
    table in this DB and so long as you're using the prefs to list your
    persistent types, or have used the schematool to register all your
    persistent types with this second datababse.
    2. Set the JNDI location of the external datasource in the
    PersistenceManagerFactory via the setConnectionFactoryName() method. When
    Kodo needs a datasource, it will see that you've given it a location to look
    for one in JNDI. It will obtain a JNDI Context and perform a lookup on the
    given location, casting the result to a javax.sql.DataSource.
    To obtain the Context, Kodo by default will simply create a 'new
    InitialContext ()'. This means that your system JNDI properties should be
    set up correctly for the JNDI provider you are using (see the
    javax.naming.Context javadoc for details).
    You also have the option of completely controlling how Kodo obtains the JNDI
    context by implementing your own com.techtrader.modules.jndi.ContextProvider
    and telling Kodo to use your custom implementation in system.prefs. As the
    user guide mentions, this is covered in the javadoc for the
    com.techtrader.modules.jndi package.
    That's all there is to it. A couple of warnings, though:
    * The use of external datasources is untested.
    * If using the datasource within an appserver, the Connections from it
    should not be automatically committed/rolled back with the completion of the
    global transaction. Kodo performs its own transaction management on the
    Connections it uses. In future releases we'll be able to handle Connections
    that are controlled by the appserver.
    Good luck.
    -- Abe White
    TechTrader
    Eric Lindauer <[email protected]> wrote in message
    news:[email protected]...
    Hello,
    I am diving into Kodo's ability to synchronize with J2EE transactions. I
    have altered JDOFactory and added a method 'getEEPersistenceManager' which
    returns a new PM from a singleton EEPersistenceManangerFactory ( much the
    same way the code already worked for the JDBCpmFactory... ).
    I am using JBoss and added the line
    <tm-location>java:/TransactionManager</tm-location> to my system.prefsfile
    as specified in the docs, but when I run my simple test case, I get a
    java.util.MissingResourceException: tm-location.
    Has anyone else tried integrating transactions with JBoss, and if so, did
    you have any problems like this? Sorry for the somewhat undetailed post,I
    know this is a bit of a long shot...
    Thanks in advance,
    Eric Lindauer

  • Reloading classes repeatedly

    My problem is to reload a class with the same name but
    with different definitions. This is necessary if you
    hove long running servers and want to replace with new class definition
    without restarting Java Runtime. Old class definition
    hopefully garbage collected afterwards. Anyone has information on this?

    Read about class loaders and take a look if you have the time for it at the source code for Tomcat or Jetty, which are two small servlet containers. They use a class loader hierarchy to enable run-time reloading.
    There's a little bit in here:
    http://java.sun.com/products/jndi/tutorial/beyond/misc/classloader.html
    There some more in the security specs:
    http://java.sun.com/j2se/1.4.2/docs/guide/security/spec/security-spec.doc5.html
    This is actuall a product, but uses the same technology:
    http://docs.sun.com/source/816-5777-10/jpgapxre.htm
    A javaworld article:
    http://www.javaworld.com/javaworld/javaqa/2003-06/01-qa-0606-load.html
    An easy (and not so correct) way to look at the class loader is that it performs a chroot combined with the rebinding of several folders of the original filesystem.

  • How do I write an external class with global constants?

    Hi you all !
    First I want to explain what exactly I want to do:
    I have an application that should run in different resolutions. The app runs fullscreen, and I don't use Layouts or something, just a single Frame with a Graphics Object.
    Now to handle the different resolutions, I want to write an external class with some constants to use. The usage in my main Class should be something like this:
    public
    class blah
    private Constants myConstants;
    public blah()
    if (highResolution)
    myConstants = new hiResConstants();
    else
    myConstants = new loResConstants();
    System.println(String.valueOf(myConstants.SCREEN_WIDTH);
    }or somthing like that. The important fact is that I can choose the constants at runtime and that I am NOT forced to use methods to get the values, cause something like
    System.println(String.valueOf(myConstants.getScreenWidth());sux if you have methods using 5 or more parameters.
    Anybody out there who understood my problem and can help me??? PLEASE?
    best regards,
    Skippy

    First, what's so much worse about
    System.println(myConstants.getScreenWidth());
    than
    System.println(myConstants.ScreenWidth);
    Is the extra five characters really that bad? (Note
    you don't need the String.valueOf method call.)Well actually it was a wrong example I gave here, but it's not the call that makes me shake but the implementation:
    public int screenWidth = 1024;vs.
    public
    int getScreenWidth()
    return 1024;
    }Here it makes a bigger difference, even when you think of managing about 100 or even more constants.
    Second, why do you have methods that take five or more
    parameters!?Well, maybe this example show up what I mean:
    if (cursorIsInArea(100,100,200,200,areaId))
    doSomeStuff();Ok, I could use Rectangles here, but if you think of the timing here (I draw 30 frames / sec and this check comes about every frame or the animation would be choppy) I refuse to create an Object everytime I make this call.
    Btw: Is it worth thinking about the time of execution like I did in this example? OO is a neat thing, but is it that fast?
    I don't think isCursorInArea(new Rectangle(100,100,200,200),areaId) is such a great idea, but I might be wrong.
    It sounds like you're trying to compound a bad design
    with an even worse design for no good reason!Well, I'm not that experienced Java programmer to judge about that, but I (and my profs at university too) found my codes well structured and designed so far.
    Skippy
    PS: the string.valueOf(123) call came from cut&paste:
    system.out.println(string.valueOf(number1)+string.valueOf(number2));Try this without the function.... ;-)

  • Enhance standard class with event handler method

    In trying to enhance a standard class with a new event handler class, I find that the ECC 6.0 EHP4 system does not appear to recognise the fact the method is an event handler method.  The specific example is a new method to handle the event CL_GUI_ALV_GRID->USER_COMMAND. 
    I notice that the flag called Active has not been ticked - see image below.  Perhaps this is the reason why the event handler is not being triggered.
    Note that there is an event handler for the same event in the standard class which obviously is executed as expected.  Any ideas on limitations in the system or I am missing a step?
    Thanks
    John

    Thank you for your replies.
    There is a bug in the ALV handler of a standard SAP class (when executed in ITS WebGUI) and I was hoping to create a custom event handler as an Enhancement to execute some custom code to sort of "handle the bug". 
    I agree - ideally it should be done in a Z class but that will not give me access to the object methods and attributes of the enhanced class.
    Cheers,
    John

  • The problem is occurred with J2ee server node which is disabled it from MMC

    Dear SAP Consultants,
    The problem is occurred with J2ee server node which is disabled J2ee server node from MMS Console and the abap work process is working fine but the dispatcher is yellow status and I can login to the abap system but Iu2019m not able to start the j2ee from Tcode u201CSmicmu201D as well
    The system parameters are:
    BI 7.0 System as ABAP & JAVA add on, windows 2003 on Oracle database, 24 GB Ram
    Paging files: Driveu201D Os system: minimum: 1525, maximum: 3048
    Driveu201DEu201D application: minimum: 70855, maximum: 70855
    I can see the log files as follow:
    From dev_disp:
    Sun Jun 21 13:10:28 2009
    J2EE server info
      start = TRUE
      state = STARTED
      pid = 2892
      argv[0] = E:\usr\sap\BWD\DVEBMGS00\exe\jcontrol.EXE
      argv[1] = E:\usr\sap\BWD\DVEBMGS00\exe\jcontrol.EXE
      argv[2] = pf=E:\usr\sap\BWD\SYS\profile\BWD_DVEBMGS00_cai-bwdev
      argv[3] = -DSAPSTART=1
      argv[4] = -DCONNECT_PORT=64990
      argv[5] = -DSAPSYSTEM=00
      argv[6] = -DSAPSYSTEMNAME=BWD
      argv[7] = -DSAPMYNAME=cai-bwdev_BWD_00
      argv[8] = -DSAPPROFILE=E:\usr\sap\BWD\SYS\profile\BWD_DVEBMGS00_cai-bwdev
      argv[9] = -DFRFC_FALLBACK=ON
      argv[10] = -DFRFC_FALLBACK_HOST=localhost
      start_lazy = 0
      start_control = SAP J2EE startup framework
    DpJ2eeStart: j2ee state = STARTED
    DpJ2eeLogin: j2ee state = CONNECTED
    Sun Jun 21 13:10:29 2009
    ***LOG Q0I=> NiIRead: recv (10054: WSAECONNRESET: Connection reset by peer) [nixxi.cpp 4424]
    ERROR => NiIRead: SiRecv failed for hdl 6 / sock 1032
        (SI_ECONN_BROKEN/10054; I4; ST; 127.0.0.1:1362) [nixxi.cpp    4424]
    DpJ2eeMsgProcess: j2ee state = CONNECTED (NIECONN_BROKEN)
    DpIJ2eeShutdown: send SIGINT to SAP J2EE startup framework (pid=2892)
    ERROR => DpProcKill: kill failed [dpntdisp.c   371]
    DpIJ2eeShutdown: j2ee state = SHUTDOWN
    Sun Jun 21 13:10:48 2009
    DpEnvCheckJ2ee: switch off j2ee start flag
    From dev_jcontrol :
    [Thr 2124] Sun Jun 21 13:10:29 2009
    [Thr 2124] *** ERROR => invalid return code of process [bootstrap] (exitcode = 66) [jstartxx.c   1642]
    [Thr 2124] JControlExecuteBootstrap: error executing bootstrap node [bootstrap] (rc = 66)
    [Thr 2124] JControlCloseProgram: started (exitcode = 66)
    [Thr 2124] JControlCloseProgram: good bye... (exitcode = 66)
    From dev_bootstrap :
    JHVM_BuildArgumentList: main method arguments of node [bootstrap]
    -> arg[  0]: com.sap.engine.bootstrap.Bootstrap
    -> arg[  1]: ./bootstrap
    -> arg[  2]: ID0072573
    -> arg[  3]: -XX:NewSize=57M
    -> arg[  4]: -XX:MaxNewSize=57M
    -> arg[  5]: -Xms256M
    -> arg[  6]: -Xmx256M
    -> arg[  7]: -XX:+DisableExplicitGC
    -> arg[  8]: -verbose:gc
    -> arg[  9]: -Djava.security.policy=.java.policy
    -> arg[ 10]: -Djava.security.egd=file:/dev/urandom
    -> arg[ 11]: -Djco.jarm=1
    [Thr 5216] JLaunchIExitJava: exit hook is called (rc = 66)
    [Thr 5216] **********************************************************************
    ERROR => The Java VM terminated with a non-zero exit code.
    Please see SAP Note 943602 , section 'J2EE Engine exit codes'
    for additional information and trouble shooting.
    [Thr 5216] JLaunchCloseProgram: good bye (exitcode = 66)
    From server.0.log :
    #1.5 #001E4F208703008A0001C7470000092000046A4414D60A1F#1242740546634#/System/Server##com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#J2EE_GUEST#0##n/a##27772ea0447811deb9bf001e4f208703#SAPEngine_Application_Thread[impl:3]_25##0#0#Error#1#com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#Plain###ERROR_ACQUIRE_CONNECTION
    com.sap.caf.eu.gp.base.exception.EngineException: ERROR_ACQUIRE_CONNECTION
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:92)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleDbImpl.getScheduleToProcess(ScheduleDbImpl.java:1936)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleService.getScheduleToProcess(ScheduleService.java:432)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.work(ScheduleWorker.java:77)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.run(ScheduleWorker.java:63)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseSQLException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:59)
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:89)
         ... 8 more
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:193)
         at com.sap.engine.services.connector.jca.ConnectionHashSet.match(ConnectionHashSet.java:338)
         at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:267)
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:51)
         ... 9 more
    Caused by: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:106)
         at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:145)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:226)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:197)
         at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:117)
         ... 12 more
    Caused by: com.sap.security.core.server.secstorefs.FileMissingException: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should.
         at com.sap.security.core.server.secstorefs.StorageHandler.openExistingStore(StorageHandler.java:372)
         at com.sap.security.core.server.secstorefs.SecStoreFS.openExistingStore(SecStoreFS.java:1946)
         at com.sap.sql.connect.OpenSQLConnectInfo.getStore(OpenSQLConnectInfo.java:802)
         at com.sap.sql.connect.OpenSQLConnectInfo.lookup(OpenSQLConnectInfo.java:783)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:209)
         ... 14 more
    Please advice with the right solution,
    Regards,
    Ahmed

    thanks

Maybe you are looking for