Initiating Quartz from a startup class
Has anyone implemented quartz in a server startup class for scheduling?
Would this be a potential way of using quartz or is it not recommended?
Thanks for any thoughts on the subject.
Toby
I was mistaken in this posting. I was able to access the EJB from the startup class so there must be something else that I am doing to cause this problem. I'd still like to know why I get those invalid guid errors though.
By the way, please forgive me for using the gender-specific gentlemen in my posting. That was accidental.
Similar Messages
-
Invalid guid error looking up EJB from a startup class
Gentlemen,
I am receiving an "invalid guid at GDS" error that is similar to others reported at:
http://softwareforum.sun.com/servlet/ProcessRequest?RHIVEID=181&RPAGEID=135&HOID=50B500000008000000FE090000&UCATEGORY_0=_29_%24_24_6_&UCATEGORY_S=0
and
http://softwareforum.sun.com/servlet/ProcessRequest?RHIVEID=181&RPAGEID=135&HOID=50B500000008000000FE090000&UCATEGORY_0=_29_%24_24_6_&UCATEGORY_S=0
In my case, I can retrieve the EJB from my rich client with no problems. However, if I execute the exact
same code from within a startup class (i.e. com.iplanet.ias.startup.StartupClass) then I get the following error repeated until memory runs out:
javax.naming.NameNotFoundException: MessageRepositoryBean : Invalid guid null in
GDS
at com.netscape.server.ejb.EjbContext.lookup(Unknown Source)
at com.netscape.server.jndi.RootContext.lookup(Unknown Source)
at com.netscape.server.jndi.RootContext.lookup(Unknown Source)
at javax.naming.InitialContext.lookup(InitialContext.java:357)
at com.netscape.ejb.CorbaHomeFactoryImpl.ConstructEJBHome(Unknown Source
at com.netscape.CosNaming.NamingContextImpl.resolve(Unknown Source)
at org.omg.CosNaming._NamingContextImplBase.invoke(_NamingContextImplBas
e.java:233)
at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch(ServerDelegat
e.java:236)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:227)
at com.sun.corba.ee.internal.iiop.CachedWorkerThread.doWork(IIOPConnecti
on.java:262)
at com.sun.corba.ee.internal.iiop.CachedWorkerThread.run(IIOPConnection.
java:230)
javax.naming.NameNotFoundException: MessageRepositoryBean : Invalid guid null in
In previous answers people have suggested adding various things to the app server classpath. This does not make any difference for me. I am puzzled why code runs fine in a normal rich client, but not in a startup class. Here is the code that I am running:
try
String contextFactory = "com.sun.jndi.cosnaming.CNCtxFactory";
String providerURL = "iiop://localhost:9010";
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
p.put(Context.PROVIDER_URL, providerURL);
Context context = new InitialContext(p);
MessageRepositoryHome home = (MessageRepositoryHome)
PortableRemoteObject.narrow(context.lookup("ejb/MessageRepository"), MessageRepositoryHome.class);
MessageRepository repository = home.create();
catch(Exception e)
e.printStackTrace(Log.err);
System.exit(1);
Thanks for your help,
MarkI was mistaken in this posting. I was able to access the EJB from the startup class so there must be something else that I am doing to cause this problem. I'd still like to know why I get those invalid guid errors though.
By the way, please forgive me for using the gender-specific gentlemen in my posting. That was accidental. -
Failed to use EJB's from startup class
Hi,
we use a startup class to set up some base services of our application.
The startup class must call some remote methods in a EJB. Unfortunately
a CLassCastException is thrown when we try to create the EJB by calling
the create method on its home interface:
Fr Nov 17 10:47:50 GMT+01:00 2000:<I> <WebLogicServer> Invoking
T3StartupDef ibs
startup ch.ebs.ibs.IBSStartup with {}
java.lang.ClassCastException: weblogic.t3.srvr.StartupThread
at
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicReques
tHandler.java:34)
at
weblogic.rmi.extensions.BasicRequestDispatcher.dispatch(BasicRequestD
ispatcher.java:82)
at
weblogic.rmi.internal.ServerRequest.sendOneWay(ServerRequest.java:73)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:77
at
ch.ebs.ibs.ejb.SessionControllerEJBHomeImpl_WLStub.create(SessionCont
rollerEJBHomeImpl_WLStub.java:151)
at ch.ebs.ibs.IBSStartup.startup(IBSStartup.java:69)
at
weblogic.t3.srvr.StartupThread.runStartup(StartupThread.java:182)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:146)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java
:62)
The same code works fine if we run it as client code (not in the startup
sequence).
Any idea?
Thanks PascalRegarding your problem and the remark you posted to my question in "Calling
EJBs from a thread in a startup class": It is possible to call methods of an
EJB from a startup class. I use this functionality to route messages from
JMS to my EJBs. From what you say, I assume that you are calling the EJB
from your startup method, which might be a problem, since WL is not
initialized at this point and does not accept any connections (this
obviously includes internal connections). You should wait for this phase to
finish and then use some other mechanism (e.g. a JMS message) to trigger
your startup class to invoke any home or remote methods on the EJB.
Looking at your stack trace, I am reminded of a very similar exception I
encountered when I was experimenting with WL a short while ago. I had put my
EJB jar file on WL's JAVA_CLASSPATH, just to see how the different
classloaders work. Of course I don't know if this has any relevance to your
configuration.
Andy
PS: The only exception to what I wrote in the first paragraph seems to be if
you start a new thread from the startup class. I still haven't managed to
call my EJB from this thread.
Pascal Rudin wrote:
Hi,
we use a startup class to set up some base services of our application.
The startup class must call some remote methods in a EJB. Unfortunately
a CLassCastException is thrown when we try to create the EJB by calling
the create method on its home interface:
Fr Nov 17 10:47:50 GMT+01:00 2000:<I> <WebLogicServer> Invoking
T3StartupDef ibs
startup ch.ebs.ibs.IBSStartup with {}
java.lang.ClassCastException: weblogic.t3.srvr.StartupThread
at
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicReques
tHandler.java:34)
at
weblogic.rmi.extensions.BasicRequestDispatcher.dispatch(BasicRequestD
ispatcher.java:82)
at
weblogic.rmi.internal.ServerRequest.sendOneWay(ServerRequest.java:73)
at
weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:77
at
ch.ebs.ibs.ejb.SessionControllerEJBHomeImpl_WLStub.create(SessionCont
rollerEJBHomeImpl_WLStub.java:151)
at ch.ebs.ibs.IBSStartup.startup(IBSStartup.java:69)
at
weblogic.t3.srvr.StartupThread.runStartup(StartupThread.java:182)
at weblogic.t3.srvr.StartupThread.doWork(StartupThread.java:146)
at
weblogic.t3.srvr.PropertyExecuteThread.run(PropertyExecuteThread.java
:62)
The same code works fine if we run it as client code (not in the startup
sequence).
Any idea?
Thanks Pascal -
Calling EJB3 SLSB from Startup Class
I am trying to access an SLSB from a startup class but seem to be unable to specify / find the correct JNDI name.
On the client side I am using :
Object compilerObject = context.lookup ("java:comp/CompilerRemote");
m_compiler = (CompilerServiceRemote)PortableRemoteObject.narrow(compilerObject, CompilerServiceRemote.class);I also tried various permutations:
Object object = context.lookup ("java:comp/env/CompilerRemote");
Object object = context.lookup ("java:comp/CompilerRemote");
Object object = context.lookup ("CompilerRemote");which results in the following exception :
javax.naming.NameNotFoundException: remaining name: CompilerRemote
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:49)
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:59)
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:64)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.thunderhead.backend.compiler.EnterpriseCompiler.init(EnterpriseCompiler.java:58)
at com.thunderhead.util.compiler.CompilerFactory.init(CompilerFactory.java:73)
at com.thunderhead.assembly.AssemblyStartup$1.load(AssemblyStartup.java:40)
at com.thunderhead.resource.LockManager.loadResource(LockManager.java:126)
at com.thunderhead.resource.LockManager.createResource(LockManager.java:71)
at com.thunderhead.assembly.AssemblyStartup.start(AssemblyStartup.java:35)
at com.thunderhead.weblogic.StartupService.main(StartupService.java:23)
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:597)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeMain(ClassDeploymentManager.java:353)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClass(ClassDeploymentManager.java:263)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.access$000(ClassDeploymentManager.java:54)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager$1.run(ClassDeploymentManager.java:205)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClassDeployment(ClassDeploymentManager.java:198)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.invokeClassDeployments(ClassDeploymentManager.java:177)
at weblogic.management.deploy.classdeployment.ClassDeploymentManager.runStartupsAfterAppActivation(ClassDeploymentManager.java:158)
at weblogic.management.deploy.classdeployment.StartupClassPrelistenService.start(StartupClassPrelistenService.java:13)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)The bean is configures as
Bean Code
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class CompilerBean implements CompilerServiceLocal, CompilerServiceRemote {
ejb-jar.xml
<session>
<ejb-name>CompilerBean</ejb-name>
<ejb-class>com.thunderhead.backend.services.CompilerBean</ejb-class>
</session>
weblogic-ejb-jar.xml
<weblogic-enterprise-bean>
<ejb-name>CompilerBean</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>20</max-beans-in-free-pool>
<initial-beans-in-free-pool>10</initial-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
<jndi-name>CompilerRemote</jndi-name>
<local-jndi-name>CompilerLocal</local-jndi-name>
</weblogic-enterprise-bean> The JNDI tree does not show the bean name as CompilerRemote either, but rather EAR_EAR_JAR_JAR...
I have tried using the name from the JNDI Context Tree which resulted in the same exception. However under the deployment section I can see both the remote and local names contain the set values from the weblogic-ejb-jar.xml file.
How can one access a SLSB from a startup class ?
PS: This works on JBoss :-)
Edited by ejb3workshop at 12/06/2007 5:25 AMWe managed to get your example working as well as our now. We needed to add the mappedName either as an annotation to the bean or in the ejb-jar.xml deployment descriptor.
It seems that the mapped name is a require field and is used to define the JNDI name of the bean. We would like to specify / name our beans using the weblogic specific deployment descriptors. This seems to be possible using jndi-name and local-jndi-name in weblogic-ejb-jar.xml, but does not seem to work. Could you please help us with configuring the JNDI name of our deployed beans. The console seems to reflect the specified name under deployments, but the JNDI Context shows the mappedName followed # an package name instead.
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-ejb-jar
xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>SimpleBean</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>20</max-beans-in-free-pool>
<initial-beans-in-free-pool>10</initial-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<enable-call-by-reference>true</enable-call-by-reference>
<jndi-name>SimpleBeanRemote</jndi-name>
<local-jndi-name>SimpleBeanLocal</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Another problem / mistake was out weblogic-application.xml file was causing us problems.
On your website :
[url http://e-docs.bea.com/wls/docs100/programming/app_xml.html#wp1079285]
You reference the Version 10 schema using the following address : http://www.bea.com/ns/weblogic/100/weblogic-application.xsd
However clicking on the link takes you to the Version 9 schema :
http://www.bea.com/ns/weblogic/90/weblogic-application.xsd
We removed the weblogic-application.xml file from our EAR file and are able to use our client. Would it be possible for you to send up a working example of a weblogic-application.xml file.
Kind regards
Alex -
Unable to create thread from startup class
Hi,
We are trying to create thread from our scheduler class. This scheduler class
is called from a Startup class configured in WebLogic 7. But we failed to create
thread. It does not showing any error also. Can anyone plz suggest what could
be the problem.
Thanks & Regards,
SiddharthaHi,
We are trying to create thread from our scheduler class. This scheduler class
is called from a Startup class configured in WebLogic 7. But we failed to create
thread. It does not showing any error also. Can anyone plz suggest what could
be the problem.
Thanks & Regards,
Siddhartha -
I'm using OC4J 10.1.3 Standalone.
I have a requirement to initialize web services and configuration parameters during app server start up.
Accordingly,I planned to call a EJB 2.0 stateless session bean from a StartUp class.
The ejb is responsible for initializing some configurations and web services.The ejb is dependent on some other classes which are present as utility jars .
However,I cannot somehow figure out how to refer the EJB from my startup class because the EAR which contains the EJB jar is in a child loader to that containing the startup class.
Please guide me!! Please suggest if some alternative approach could be taken to suffice my requirement.
TIAAvi, I was just waiting for the "servlet hack".
I really prefer the application client way, much cleaner, no servlet container needed, and could be tested outside the container.
--olaf -
Weblogic startup class: problem calling EJB's
Has anyone ever experienced a problem in using a startup class (registered in weblogic.properties)
and tried to lookup and use an EJB in the same application?
Basically, I have a startup class which registers to receive messages from an
MQ queue, and when it receives a message, it tries to do a lookup of a bean and
use it, but I receive a 'NullPointerException'.
I'm running Weblogic 5.1
(I know that Weblogic 6.0 makes use of MessageDrivenBeans, but my app isn't using
6 or EJB 2.0)
Thanks...Can you post weblogic.log? Are you sure that EJB was deployed successfully.
Also comment the PROVIDER_URL in initial context and see if that solves the problem
Viresh Garg
BEA Systems
shaun wrote:
The exception is simply a 'NullPointerException' coming from the startup class
(I don't have the old log file or I would include the trace here.). Basically,
when my startup class receives a call to the onMessage(...) method (from listening
for messages), it looks up an EJB on the server, through the InitialContect class
and gets a 'null' returned back, thereby throwing the NullPointerException.
If anyone else is successful in having a startup class which can lookup and call
an EJB within the same Weblogic server, please help.
Thanks again....
Viresh Garg <[email protected]> wrote:
Can you post the exception stack trace? Also what exactly are you doing
in startup class.
Viresh Garg
Principal Developer Relations Engineer
BEA Systems
Shaun wrote:
Has anyone ever experienced a problem in using a startup class (registeredin weblogic.properties)
and tried to lookup and use an EJB in the same application?
Basically, I have a startup class which registers to receive messagesfrom an
MQ queue, and when it receives a message, it tries to do a lookup ofa bean and
use it, but I receive a 'NullPointerException'.
I'm running Weblogic 5.1
(I know that Weblogic 6.0 makes use of MessageDrivenBeans, but my appisn't using
6 or EJB 2.0)
Thanks... -
Servlets as Startup classes in WLS 5.1
Hi,
I would like to know if:
1) a servlet can be used as a startup class in WLS 5.1. If so,
are there any restriction on what can be done inside this servlet?
Or
2) can we load a servlet from a startup class? if so? how?
any ideas?
regards,
Modou.Not sure if this is what you are looking for, but you can mark a servlet to
be pre-loaded when the servlet runner starts.
"Modou" <[email protected]> wrote in message
news:3ac14139$[email protected]..
>
Hi,
I would like to know if:
1) a servlet can be used as a startup class in WLS 5.1. If so,
are there any restriction on what can be done inside this servlet?
Or
2) can we load a servlet from a startup class? if so? how?
any ideas?
regards,
Modou. -
I'm having a problem when I do a JNDI lookup for JMS connection factory from startup
class. I can use JNDI normally to bind and lookup but when I do lookup for JMS
connection factory like this:
Context naming = new InitialContext();
factory = (TopicConnectionFactory)naming.lookup("myapp.factory");
It fails like this:
java.lang.NullPointerException:
at javax.naming.InitialContext.getURLScheme (InitialContext.java:222)
at javax.naming.InitialContext.getURLOrDefaultInitCtx (InitialContext.java:271)
at javax.naming.InitialContext.lookup(InitialContext.java:345)
The same lookup is successful when I do it from EJB or from client. What could
be the problem?Sorry, my fault. I double checked and triple checked the code before posting, but
I should have quadruple checked it. NullPointerException was propably caused by
calling lookup() with null argument :) -
How to flush JSP content from a portal class for initial content display?
Hello,
I have a JSP that is loaded from the JSR-168 portlet class. The JSP is used for doing a database search. As results come back, I want to flush the JspWriter ("out" variable) buffer so that partial results are displayed to the user as they come back.
The flushing of the content does not occur in this JSP. If, however, I launch a JSP page directly (not through the portlet class)in its own browser window, and the same code is run, the flushing occurs and I can get results displayed as they are returned.
There is something different in the JSP version that is loaded from the portlet class that is preventing the flushing from occurring.
This just may be an issue where the portal engine waits to display all content (to include my portlet) all at once.
Any thoughts? Is there another way to do this?
Thanks - PeterFrom http://www.htmlhelp.com/reference/html40/forms/input.html:
A form that includes a file INPUT must specify METHOD=post and ENCTYPE="multipart/form-data" in the <FORM> tag. CGI libraries such as CGI.pm allow simple handling of such forms.
Form-based file upload is unsupported by many currently deployed browsers. Authors should provide alternative methods of input where possible.
The following example allows the user to upload an HTML document for validation:
<FORM METHOD=post ACTION="/cgi-bin/validate.cgi" ENCTYPE="multipart/form-data">
<P>Select an HTML document to upload and validate. If your browser does not support form-based file upload, use one of our alternate methods of validation.</P>
<P><INPUT TYPE=file NAME="html_file" ACCEPT="text/html"></P>
<P><INPUT TYPE=submit VALUE="Validate it!"></P>
</FORM>
Your servlet would then have to process whatever data is put into that parameter. You can look at O'Reilly's servlet utilities, or one of the other other links here:
http://www.google.com/search?q=java+servlet+file+upload&sourceid=opera&num=0&ie=utf-8&oe=utf-8 -
Failed to invoke startup class "MyStartup Class"
Hi,
I configured StartUpClass.java in Weblogic server through Admin Console . Also I set the required jar files in the classpath of the server in WL_HOME\server\bin\startWLS.cmd.
This StartUPClass is written to initialize and create the minimum number of objects in the pool, needed for URLConnection using ObjectPooling API.
I am getting Exceptions while starting the server after deployment of the application. I am pasting the full stack trace.
<Feb 1, 2007 9:49:55 AM IST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 1.4.2_12-b03 from Sun Microsystems Inc.>
<Feb 1, 2007 9:50:10 AM IST> <Info> <Configuration Management> <BEA-150016> <This server is being started as the administration server.>
<Feb 1, 2007 9:50:10 AM IST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 8.1 SP4 Mon Nov 29 16:21:29 PST 2004 471647
WebLogic XMLX Module 8.1 SP4 Mon Nov 29 16:21:29 PST 2004 471647 >
<Feb 1, 2007 9:50:11 AM IST> <Notice> <Management> <BEA-140005> <Loading domain configuration from configuration repository at D:\bea\user_projects\domains\nessdomain\.\config.xml.>
<Feb 1, 2007 9:50:15 AM IST> <Notice> <Log Management> <BEA-170019> <The server log file D:\bea\user_projects\domains\nessdomain\myserver\myserver.log is opened. All server side log events will be written to this file.>
<Feb 1, 2007 9:50:18 AM IST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<Feb 1, 2007 9:50:18 AM IST> <Notice> <WebLogicServer> <BEA-000327> <Starting WebLogic Admin Server "myserver" for domain "nessdomain">
<Feb 1, 2007 9:50:31 AM IST> <Warning> <HTTP> <BEA-101248> <[Application: 'D:\MSM\Workspace\MSM2.0Jan9', Module: 'MSM31']: Deployment descriptor "web.xml" is malformed. Check against the DTD: org.xml.sax.SAXParseException: The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)". (line 96, column 11).>
<Feb 1, 2007 9:50:31 AM IST> <Warning> <HTTP> <BEA-101248> <[Application: 'D:\MSM\Workspace\MSM2.0Jan9', Module: 'MSM31']: Deployment descriptor "weblogic.xml" is malformed. Check against the DTD: org.xml.sax.SAXParseException: The content of element type "weblogic-web-app" must match "(description?,weblogic-version?,security-role-assignment*,run-as-role-assignment*,reference-descriptor?,session-descriptor?,jsp-descriptor?,auth-filter?,container-descriptor?,charset-params?,virtual-directory-mapping*,url-match-map?,preprocessor*,preprocessor-mapping*,security-permission?,context-root?,wl-dispatch-policy?,servlet-descriptor*,init-as*,destroy-as*)". (line 23, column 20).>
<Feb 1, 2007 9:50:35 AM IST> <Critical> <WebLogicServer> <BEA-000286> <Failed to invoke startup class "MyStartup Class", java.lang.ClassNotFoundException: com.helio.msm.ws.util.StartUpClass
java.lang.ClassNotFoundException: com.helio.msm.ws.util.StartUpClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at weblogic.t3.srvr.StartupClassService.invokeClass(StartupClassService.java:156)
at weblogic.t3.srvr.StartupClassService.access$000(StartupClassService.java:36)
at weblogic.t3.srvr.StartupClassService$1.run(StartupClassService.java:121)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.t3.srvr.StartupClassService.invokeStartupClass(StartupClassService.java:116)
at weblogic.t3.srvr.PostDeploymentStartupService.resume(PostDeploymentStartupService.java:63)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
>
<Feb 1, 2007 9:50:36 AM IST> <Error> <Socket> <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please ensure that wlntio.dll is in: 'D:\j2sdk1.4.2_12\bin;.;C:\WINDOWS\system32;C:\WINDOWS;D:\j2sdk1.4.2_12\bin;c:\windows\system32;C:\apache-ant-1.6.5\bin;'
>
<Feb 1, 2007 9:50:36 AM IST> <Notice> <WebLogicServer> <BEA-000331> <Started WebLogic Admin Server "myserver" for domain "nessdomain" running in Development Mode>
<Feb 1, 2007 9:50:36 AM IST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
<Feb 1, 2007 9:50:36 AM IST> <Notice> <WebLogicServer> <BEA-000355> <Thread "ListenThread.Default" listening on port 7001, ip address *.*>
<Feb 1, 2007 9:50:55 AM IST> <Warning> <Socket> <BEA-000402> <There are: 5 active sockets, but the maximum number of socket reader threads allowed by the configuration is: 4. You may want to alter your configuration.>
Please help me in resolving this problem. I need it asap
Thanks,
DharaniI should be more specific and have a bit more to add....
We have our app in an .ear file. I find that when I put the startup
classes in a seperate directory which is in the classpath specified in the
startWeblogic.cmd file they will be run on startup. I don't think I should
have to do this since these files exist in the ear file. I think this is
causing other problems too such as an illegalAccessError I get when an EJB
tries to load a class which was previously accessed by the startup classes.
Thanks,
Steve
Steve Snodgrass wrote:
Hi,
I am beggining to upgrade our app from Weblogic 5.1 to 6.0. So far it
has been progressing nicely and everything works with one exception. I
can not get the start up classes to run. I get the following exception:
<Failed to invoke startup class "MyStartup Class",
java.lang.ClassNotFoundException:
followed by my fully qualified class name. The class is reference
elsewhere in the code and works fine. Is a seperate classpath used for
startup classes? If not why might Weblogic have a hard time finding my
class?
Thanks,
Steve -
Startup class cannot find a config file.
I have written a startup class to configure log4j in Weblogic.
The class runs but cannot find the configuration file. The
code for the startup class is as follows....
package com.n2bb.ams.common.util;
import java.io.FileInputStream;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.Properties;
import com.n2bb.ams.common.util.FileLocator;
import org.apache.log4j.xml.DOMConfigurator;
* Insert the type's description here.
* Creation date: (12/5/00 11:12:13 AM)
* @author: Administrator
public class ApplicationStartUp implements weblogic.common.T3StartupDef {
* ApplicationStartUp constructor comment.
public ApplicationStartUp() {
super();
* setServices method comment.
public void setServices(weblogic.common.T3ServicesDef arg1) {
* startup method comment.
public String startup(String arg1, java.util.Hashtable arg2) throws Exception {
String resource = null;
try {
resource = (String) arg2.get("configFileName");
System.out.println("ConfigFileName: " + resource);
URL configFileResource = ApplicationStartUp.class.getResource(resource);
System.out.println("configFileResource: " + configFileResource.toString());
String file = configFileResource.getFile();
DOMConfigurator.configure(file);
return "Log4j configuration initialized completed.";
} catch (Exception e) {
System.out.println("Cannot open config file: " + resource);
return "Log4j configuration failed to initialized.";
The section of the config.xml the calls my startup class looks
like....
<StartupClass
Arguments="configFileName=/bea/user_projects/mydomain/log4j-config.xml"
ClassName="com.n2bb.ams.common.util.ApplicationStartUp"
Name="AMS Startup Class" Targets="myserver"/>
I have tested the code in a standalone class and it works fine.
Why can't I find the log4j-config.xml file? Any help would be
greatly appreciated.Wow, your system must have a long history of having picked up assorted bad stuff ...
You have CleanMyMac2, which should definitely be removed.
You have other stuff (MacCleanse, for example) that I don't have first-hand knowledge about but should very likely be removed.
You are using Google Chrome which is a resource hog.
Further, your Adobe Flash player is not current.
If I had all these issues, I would do a clean install of Yosemite and only reintroduce the essential stuff.
You can search for the .plist files by opening finder, holding down the Option key, and doing Go > Library from Finder's menu and then searching for the file(s). -
Hello,
I need to set up a start up class for quartz jobs in my weblogic server.
I have created the startup class from the weblogic console but i dont know where to put the class or java file.
Where is it read from?follow this :
http://download.oracle.com/docs/cd/E13222_01/wls/docs81/ConsoleHelp/startup_shutdown.html#1108355 -
Startup Classes and JMS - Suggestions Please!
I'm in serious need of having several resources initialized before beans
start handling requests.
I tried implementing a Weblogic Startup Class, and it works fine - as long
as it's the first thing
to run! -- the problem is, when my Message Driven Beans deploy, if there are
messages waiting
for them in their durable subscriptions, they immediately start
processing... then about 30 seconds
later Weblogic (6.0sp1) gets around to starting my startup class. If I put
code in each MDB that
kicks off the initialization when they are invoked I still run into
problems, because my initialization
takes a LONG time (more than 2 minutes) - so I end up with lots of
transaction rollbacks... which
are very annoying and clutter up the log files, and scare customers of the
product.
Is there anyway to make a startup class/servlet/something that runs and
completes before any
other processing occurs?
Thanks,
JamesYes, Startup servlet has the same problem - it doesn't 'startup' until after
jms messages are already being delivered. :( aside from this, there are
class loader issues -servlet space and ejb space are not the same...
Thanks though,
James
"minjiang" <[email protected]> wrote in message
news:[email protected]...
Hi, did you ever try startup servlet? not startup class?
mj
James House wrote:
The only problem with creating a base class to extend is the fact that
Java only supports single inheritance, -- and I'm already inheriting...
>>
I've been involved with many projects that use WLServer, and in
almost every one of them, there has been a need for a startup class
that fires before the server starts handling requests.... strange that
I'd be the only one to need this, when the need has recurred so often.
James
"Raja Mukherjee" <[email protected]> wrote in message
news:[email protected]...
James,
If you have common initialization tasks to be shared by multiple MDBs,
I
would create an abstract class (a.k.a BeanAdapter class) where you canhave
all your initialization logics and have your MDB extend from it.
I am not convinced that the Startup class needs to run first. In fact,
I
have the same view that Startup class should run last. My only wishlist
for
startup class was that I should be able to specify order, which isaddressed
in 6.1.
I am also getting the feeling from different posts that MDB deploymentwould
have a re-try logic in 6.1, which I am beginning to look into. Check
(or
post) in JMS news group.
.raja
"James House" <[email protected]> wrote in message
news:[email protected]...
Thanks for the help... I like the pattern you pointed me to better
than
anything else... ... but in all cases (your method, Gene's, and whatI'm
currently doing) I still have to put some code in every MDB that
I deploy... : (
Put in a good word for me there at BEA and convince the appropriate
developer that startup classes should run first!
James
"Raja Mukherjee" <[email protected]> wrote in message
news:[email protected]...
James,
There are several ways to solve your problem. I normally use
setMessageDrivenContext to do all my initialization. There are two
types
of
initialization that I have performed here, first, reading theconfiguration
file and then load some utility classes in specific order. The
problem
with
the second was that you will have to use synchronized block
w/HotSpot
2.0
to
keep the order, which is ok. I don't use static block to do the
initialization, instead use an init() metod. Hopefully you got the
idea.
Recently, Gene Chuang created a pattern which esentially does the
same
and
I
liked the pattern because it was a nicer way of doing what I
needed to
do.
I
have changed all my examples to customer to use the new pattern.
You
can
find it in
http://theserverside.com/patterns/thread.jsp?thread_id=7270.
The
only think I do not use of this pattern is
initializeEveryContextSwap()
method. I am not convinced yet that I would need it (of course
that
might
change over the time).
Hope this helps, and thanks Gene.
.raja
"James House" <[email protected]> wrote in message
news:[email protected]...
Ok... here's some more detail:
The application is largely JMS based, and most of my Session
EJBs
are
invoked only my Message Driven Beans.
I have a large set of properties that need to be read from a
config
file,
and stored somewhere "globally". I also have a number of
utilities
that
need to get "warmed up" before I start doing any real processing(before
I start receiving messages from the JMS Topics). These
utilities
take
a
long time to warm up (a long time being about 45-60 seconds) -
because
they are loading hundereds of classes, and creating variousconnections
to external resources.
Currently I'm creating a Singleton object that reads the
configuration
file
name from an environment property, and it then parses the file,
and
starts
configuring all of these utilities. Since the "Startup Class"
didn't
work
(weblogic invokes it after I'm already receiving messages), I
put
code
at
the beginning of all of my MDB's onMessage() methods that calls
the
singleton's "getInstance()" method - which synchronizes on alock
object,
and does all of it's work.
I don't like this solution because:
1- I have to put code in EVERY message-driven bean that I
create -
if
I
forget one, everything is broken.
2- I have to increase the transaction time out of the entire
server
to
be over 60 seconds since the beans hang that long while theconfiguration
is
happening.
It seems very obvious that a "Startup Class" should be invoked
after
the
server has come completely up, but before it starts listening
for
requests -- isn't the whole point of a "startup class" to getthings
ready
that need to be done as soon as the server comes up? but alas,
the
person
who designed this at BEA apparently didn't agree with me on this
point!
Any suggestion on better solutions would be greatly appreciated.
James
"Raja Mukherjee" <[email protected]> wrote in message
news:[email protected]...
You can do it this way, but I would not recommend it, unless
that's
the
only
way to attack the problem at hand. But that's just me.
I have seen this problem with multiple clients and in most
cases
there
is
a
better way to handle it. If James give us a little more
information
on
what
type of configuration is he talking about and some background
of
his
application, we as a group can think and may be able to come
up
with
some
idea.
.raja
"Joel Nylund" <[email protected]> wrote in message
news:[email protected]...
you could wrap the starting of weblogic in your own class
and do
initialization
there. You have to be careful because of the way weblogic
classloaders
work, but
you may be able to do what you want. Weblogic is just a java
class,
so
you
can
start your class, then once your done initializing, just
call
weblogic.Server.main
-Joel
James House wrote:
I'm in serious need of having several resources
initialized
before
beans
start handling requests.
I tried implementing a Weblogic Startup Class, and it
works
fine -
as
long
as it's the first thing
to run! -- the problem is, when my Message Driven Beans
deploy,
if
there
are
messages waiting
for them in their durable subscriptions, they immediately
start
processing... then about 30 seconds
later Weblogic (6.0sp1) gets around to starting my startupclass.
If
I
put
code in each MDB that
kicks off the initialization when they are invoked I still
run
into
problems, because my initialization
takes a LONG time (more than 2 minutes) - so I end up with
lots
of
transaction rollbacks... which
are very annoying and clutter up the log files, and scarecustomers
of
the
product.
Is there anyway to make a startup class/servlet/something
that
runs
and
completes before any
other processing occurs?
Thanks,
James -
Startup Classes w/ Arguments and Startup Order
Hi,
I know we can control the order of startup classes by specifying them in a
comma delimited list like this:
weblogic.system.startupClass.a=class1,class2,class3
Now what if class1 and class2 have several startup arguments that I need to
pass??? I would hate to think that I'll have to write my own startup
manager just to do this one simple thing?
So... if anyone knows how to specify startup arguments AND control the order
of startup classes please let me know...
Thanks in advance,
Stephen Earl
SmartPoint, Inc.Hi Don,
I've attempted to mirror the functionality of the Weblogic startup system
with no success. Basically I have an xml document specifying the startup
specifications much like the WL startup system (ie. Description, ClassName,
Args). To mirror the WL system I apparently need access to StartupThread
which, like most other WL classes, is undocumented and unexposed for use.
How would you suggest implementing such functionality??? Considering that
I'd like to have similar functionality to the current system (ie.
T3StartupDefs, RMI Servers, etc.) how can I and any other BEA customer
achieve this short of rewriting the startup mechanism???
Stephen Earl
SmartPoint, Inc.
"Don Ferguson" <[email protected]> wrote in message
news:[email protected]...
I have looked over the source code for startup classes and how thearguments
are processed, and I'm afraid I don't see any mechanism to accomplish what
you want, i.e., to specify the order that startup classes are executed,
and provide names-value pairs that are associated with each class.
You might have to come up with your own mechanism for associating
arguments with startup classes.
Anne-Katrin Schroeder-Lanz wrote:
well, if you absolutely must have identically named args for each class,
then you're stumped. should you be able to extract any kind of support
from
BEA here, I'd appreciate a notification, since we've got the sameproblem to
deal with.
happy hacking, anne
Anne-Katrin Schroeder-Lanz
Development
memIQ AG
T: +49-89-45639-19385
F: +49-89-45639-33-385
mailto:[email protected]
"Stephen Earl" <[email protected]> wrote in message
news:[email protected]...
OK... and now say that I have a startup argument called RETRIES. This
argument needs to be 10 for startup class A and 20 for startup class
B.
Now
way I can see to handle this situation.
BEA... I've logged a production 3 case regarding this issue and have
not
even received an initial response from support. Hello... Hello...
Steve...
"Anne-Katrin Schroeder-Lanz" <[email protected]> wrote in message
news:[email protected]...
hi,
just use the startArgs as documented on the list of startup classes
and
pass
a collective list of args, e.g.:
weblogic.system.startupClass.<logical_name>= xxx.yyy.Foo,
xxx.yyy.Bar
weblogic.system.startupArgs.<logical_name>= arg4Foo=some_value,
arg4Bar=another_value
hth,
cheers, anne
Anne-Katrin Schroeder-Lanz
Development
memIQ AG
T: +49-89-45639-19385
F: +49-89-45639-33-385
mailto:[email protected]
"Stephen Earl" <[email protected]> wrote in message
news:[email protected]...
Hi,
I know we can control the order of startup classes by specifying
them
in
a
comma delimited list like this:
weblogic.system.startupClass.a=class1,class2,class3
Now what if class1 and class2 have several startup arguments that
I
need
to
pass??? I would hate to think that I'll have to write my own
startup
manager just to do this one simple thing?
So... if anyone knows how to specify startup arguments AND controlthe
order
of startup classes please let me know...
Thanks in advance,
Stephen Earl
SmartPoint, Inc.
Maybe you are looking for
-
Post Author: shfisher CA Forum: Older Products We have a fairly complex report written in Crystal 8 that displays within seconds in the viewer. A user routinely exports this report to a text file, and until approximately three weeks ago, the export
-
Problem with Master and Child table
Hi, Working in jdev 11.1.1.2.0. I have one strange issue. i have master and child tables, the model is working fine with the view link. but when drag drop the same into my jsff. when i query the result 1st time 2 tables are refershing properly and da
-
How do I create a hotspot on the last frame of an animated gif that only plays once. When it is finished I want to be able to click on it to load another page.
-
HP Recovery Manager only shows a black screen when opened on dv6t
I just recently got a HP Pavilion dv6t-6c00 notebook and I tried to create my set of recovery discs, which I've already been having trouble with because I don't have the right brand of DVDs. I still haven't completed the process of making all 5 recov
-
Chinese character in PDF output file ?
I have trouble to display Chinese characters (traditional Chinese) on PDF output file. Is there anyone can help ?