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
-
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 PGHave 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,
JensHi,
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/ -
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! -
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 LindauerREAD 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 -
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,
SkippyFirst, 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
JohnThank 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,
Ahmedthanks
Maybe you are looking for
-
Trying to Reinstall iTunes: Can't find it after Download
This morning I tried to update iTunes. It failed. I got a message to reinstall iTunes. I've removed iTunes from the computer and downloaded the installer but it does not appear in Downloads or Desktop. Where would it be?
-
I'm running snow leopard. The try to open any .mov file in Quicktime, and I get an error message that says, "The document xyz.mov could not be opened. The movie is not in a format that Quicktime player understands. I'm a recent upgrade to Snow Leopar
-
How to access Mail-Attachments in XI 3.0?
Hello everyone, We have a scenario, where a Mail with attached Files (text, pdf) is sent to the XI. I would like to write a module which accesses the Mail-Attachments, retrieves their content and appends the Base64-encoded content to the payload. I'v
-
I new to java and I was asked the following Q - Here is a simple hello world program - public class A { public static void main(String a[]) { System.out.println("hello world"); Now question is can I print something like "hello java" before "hello wor
-
Hi Gurus, We have a requirement of developing WBS costing Report( detailed and summary) in 3.1i version.The specifications considered are as per below. Actual cost details been captured from relevent POs and Project related Orders aganist WBS, Howeve