Startup class  load sequence?

Hi there,
Do I have control over the load sequence of the startup classes? I
need to make sure one class start before the other. I add the one needs to
be start first before the other one in config.xml, but Weblogic always load
the other one first. Why?
Thank you

WLS 6.1 supports deployment order in which
you can set the order for each deployments
see 6.1 docs
Kumar
Chi-Ming Yang wrote:
OK!
Thank you
I tried. The trick works for WLS 6.0 with SP2.
Funny thing is that WLS loads names start with "Z" before "A".
Thank you
>
"Deyan D. Bektchiev" <[email protected]> wrote in message
news:[email protected]..
What I'm saying is that WLS 6.0 might work with the class name trick (Ihaven't
tried it) but I would not use it even if it worked for me since somethingas
simple as a hash code change in a JDK version might break the order youdesire.
In 6.1 there might be a way to do that but I don't know what it is.
--dejan
Chi-Ming Yang wrote:
Are you saying only WLS 610 will work with the class name trick?
I am using WLS 6.0. Bad luck!
>
"Deyan D. Bektchiev" <[email protected]> wrote in message
news:[email protected]..
There was a posting that said that if you name you classes for example
Class1
Class2
the Class1 would always be loaded before Class2 but the sure thing is
to
create
only one startup class that loads the real startup classes in the
order
you
want them to be loaded.
Maybe in 6.1 BEA has took care of this but in 6.0 you just cannot (the
why
is
left for the BEA developers to answer).
--dejan
Chi-Ming Yang wrote:
Hi there,
Do I have control over the load sequence of the startup
classes?
I
need to make sure one class start before the other. I add the one
needs
to
be start first before the other one in config.xml, but Weblogic
always
load
the other one first. Why?
Thank you

Similar Messages

  • Sequence of startup classes and EJB deployment

    The default sequence when WLS is starting is deploying EJB first and then startUpClasses. Could someone tell me if it's possible to change the sequence.
    Thanks a lot in advance.

    Sure have your startup class do its work and then hot-deploy the EJB.
    -- Rob
    Jack wrote:
    >
    The default sequence when WLS is starting is deploying EJB first and then startUpClasses. Could someone tell me if it's possible to change the sequence.
    Thanks a lot in advance.

  • Which classloader loads the startup class?

    Hi!
    Which classloader loads the startup and shutdown classes?
    Thx.
    A.

    You're correct.
    Just to be 100% clear, the startup classes defined in config.xml are loaded from the $CLASSPATH, domain/lib (in 9.x) or the JDK extensions directory.
    Startup classes which are defined in the weblogic-application.xml (application-scoped startup classes) can be in the application or in any of the server-wide classpath locations.
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Loading startup class before Applications

    I need to load a startup class before my EJBs are deployed. The "deployment order"
    field from the console works for components of the same type only. Looks like WLS
    always loads Applications before startup classes. Does anyone know how to change
    this configuration?
    Thanks,
    Stefano

    Hi Stefano
    I think the relevant CR for this problem is CR061426.
    This CR is included in sp3 of WLS6.1
    Hope this help
    J-F
    Stefano wrote:
    I need to load a startup class before my EJBs are deployed. The "deployment order"
    field from the console works for components of the same type only. Looks like WLS
    always loads Applications before startup classes. Does anyone know how to change
    this configuration?
    Thanks,
    Stefano

  • Cannot start Startup class in WL6.0

    Hi, I have a question regarding the startup class with WL6.0. here is the config.xml:
    =================================================================
    <StartupClass
    Arguments="connectionFactory=javax.jms.QueueConnectionFactory,queue=com.lasso.email.emailQueue"
    ClassName="com.lasso.service.mail.StartupEmailSender"
    FailureIsFatal="true" Name="EmailSender" Targets="localserver"/>
    <StartupClass Arguments="" ClassName="com.lasso.util.StartupLoad"
    FailureIsFatal="true" Name="StartupLoad1" Targets="localserver"/>
    <Security Name="lassov2" PasswordPolicy="wl_default_password_policy" Realm="wl_default_realm"/>
    ================================================================
    Here is what I got after start weblogic server 6.0:
    ================================================================
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <WebLogic Server started>
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <ListenThread listening
    o
    n port 80>
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <SSLListenThread listenin
    g on port 443>
    <Jul 9, 2001 1:50:35 PM CDT> <Error> <Performance Pack> <Unable to load performa
    nce pack, using Java I/O.
    java.lang.ThreadDeath
    >
    <Jul 9, 2001 1:50:36 PM CDT> <Emergency> <WebLogicServer> <ListenThread.run()
    fa
    iled: java.lang.ThreadDeath>
    <Jul 9, 2001 1:50:36 PM CDT> <Emergency> <WebLogicServer> <The WebLogic Server
    i
    s no longer listening for connections. You should probably restart it.>
    <Jul 9, 2001 1:50:36 PM CDT> <Alert> <WebLogicServer> <Server shutdown has been
    requested by system>
    <Jul 9, 2001 1:50:36 PM CDT> <Alert> <WebLogicServer> <The shutdown sequence has
    been initiated.>
    <Jul 9, 2001 1:50:58 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '0' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '1' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '2' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '3' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '4' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    : '5' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread: 'ExecuteThread
    ==============================================================
    What can I do to start those StartUp classes successfully?
    Thanks.
    Alan Zhang

    Seems like your startup class is generating error that causing wl to
    shutdown. This is because you told wls that you don't want it to start if
    your startup class fails (FailureIsFatal="true" ).
    Take a look at your startup calss and see why is it failing...
    .raja
    "Alan Zhang" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi, I have a question regarding the startup class with WL6.0. here is theconfig.xml:
    =================================================================
    <StartupClass
    Arguments="connectionFactory=javax.jms.QueueConnectionFactory,queue=com.lass
    o.email.emailQueue"
    ClassName="com.lasso.service.mail.StartupEmailSender"
    FailureIsFatal="true" Name="EmailSender" Targets="localserver"/>
    <StartupClass Arguments="" ClassName="com.lasso.util.StartupLoad"
    FailureIsFatal="true" Name="StartupLoad1" Targets="localserver"/>
    <Security Name="lassov2" PasswordPolicy="wl_default_password_policy"Realm="wl_default_realm"/>
    ================================================================
    Here is what I got after start weblogic server 6.0:
    ================================================================
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <WebLogic Serverstarted>
    >
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <ListenThreadlistening
    o
    n port 80>
    <Jul 9, 2001 1:50:35 PM CDT> <Notice> <WebLogicServer> <SSLListenThreadlistenin
    g on port 443>
    <Jul 9, 2001 1:50:35 PM CDT> <Error> <Performance Pack> <Unable to loadperforma
    nce pack, using Java I/O.
    java.lang.ThreadDeath
    >
    <Jul 9, 2001 1:50:36 PM CDT> <Emergency> <WebLogicServer><ListenThread.run()
    fa
    iled: java.lang.ThreadDeath>
    <Jul 9, 2001 1:50:36 PM CDT> <Emergency> <WebLogicServer> <The WebLogicServer
    i
    s no longer listening for connections. You should probably restart it.>
    <Jul 9, 2001 1:50:36 PM CDT> <Alert> <WebLogicServer> <Server shutdown hasbeen
    requested by system>
    <Jul 9, 2001 1:50:36 PM CDT> <Alert> <WebLogicServer> <The shutdownsequence has
    been initiated.>
    <Jul 9, 2001 1:50:58 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '0' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '1' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '2' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '3' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '4' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    : '5' for queue: 'default'' stopped.>
    <Jul 9, 2001 1:51:06 PM CDT> <Critical> <Kernel> <Execute Thread:'ExecuteThread
    ==============================================================
    What can I do to start those StartUp classes successfully?
    Thanks.
    Alan Zhang

  • Startup class is not working in oc4j

    hi
    I have a servlet .In init of that servlet I will create an instance of a startup class .
    In web.xml configuration I gave <load-on-startup></load-on-startup> .I created a war and an ear and deployed my application .The startup class is not called.
    But when I configured the servlet in the default-web-app the startup class is running.
    And furthur when I hot deploy my ear the startup class is running.
    But when I restart my application server the startup class is not invoked.
    can anybody help
    Regards
    Gajendran.G

    hi
    I had put auto-start=true in server.xml .then also it is not working.
    when I redeploy my ear,the startup class is invoked,but when i restart the
    server it does'nt
    gaj

  • 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,
    Dharani

    I 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

  • load-on-startup 1 /load-on-startup not working in Weblogic 9.1

    Hi
              I have the following xml tag in web.xml file
              <load-on-startup>1</load-on-startup> for some servlets, i have given then sequence 1 to 5, but for some reason 5 is loading first and the whole application crashes because of this.
              do i have to mention anything in weblogic.xml?
              Any ideas how do i fix this

    You're right, your situation is very similar to the situation the other poster describes. However, the main similarity is that neither of you have given us any information about what is going wrong. We can't read minds or read what's on your screen. We need to see specific error messages, stack traces, and specific code that shows what you are trying to do.
              However, it's likely that you're running into problems with the issues with "tag reuse" and "tag pooling". You should first read the JSP specification in the areas that talk about this issue, although this will probably leave you with more questions than you started with.
              I'm guessing that your "<gui:button>" element doesn't have any attributes. It's possible that WebLogic is reusing a single "<gui:button>" tag instance for each occurrence in your page. You may have to figure out how to turn off tag pooling in the JSP compiler, but I'm not sure how to do that.
              It's possible that Websphere doesn't give you an issue with this because perhaps they didn't bother with the tag pooling optimization (it is a good thing to have it available).

  • Dynamic Class Loading in an EJB Container

    Hello,
    We have a need to load classes from a nonstandard place with in an ejb container, ie a database or secure store. In order to do so we have created a custom class loader. Two issues have come up we have not been able to solve, and perhaps some one knows the answer to.
    Issue 1.
    Given the following code:
    public static void main(String args[])
    MyClassLoader loader = new MyClassLoader("lic.dat");
    System.out.println("Loading class ..." + "TestObject");
    Object o = Class.forName("TestObject",true,loader).newInstance();
    System.out.println("Object:" + o.toString());
    TestObject tstObj = (TestObject) o;
    tstObj.doIt();
    What happens when executed is as follows. Class.forName calls our loader and does load the class as we hoped, it returns it as well, and the o.toString() properly executes just fine. The cast of the object to the actual TestObject fails with a class not found exception. We know why this happens but don't know what to do about it. It happens because the class that contains main was loaded by the system class loader (the primordial class loader as its sometimes called), That class loader does not know about TestObject, so when we cast even though the class is "loaded" in memory the class we are in has no knowledge of it, and uses its class loader to attempt to find it, which fails.
    > So the question is how do you let the main class know to use our class loader instead of
    the system class loader dispite the fact is was loaded by the system class loader.
    Issue 2:
    To make matters worse we want to do this with in an EJB container. So it now begs the question how do you inform an EJB container to use a specific class loader for some classes?
    Mike...

    Holy crap! We are in a similar situation. In creating a plugin engine that dynamically loads classes we use a new class loader for each plugin. The purpose is so that we can easily unload and/or reload a class at runtime. This is a feature supposedly done by J2EE app servers for hot-deploy.
    So our plugins are packaged as JAR files. If you put any class in the CLASSPATH, the JVM class loader (or the class loader of the class that is loading the plugin(s)), will load the class. The JavaDoc API states that the parent classloader is first used to see if it can find the class. Even if you create a new URLClassLoader with NULL for parent, it will always use the JVM class loader as its parent. So, ideally, in our couse, plugins will be at web sites, network drives, or outside of the classpath of the application and JVM.
    This feature has two benefits. First, at runtime, new updates of plugins can be loaded without having to restart the app. We are even handling versions and dependencies. Second, during development, especially of large apps that have a long startup time, being able to reload only one plugin as opposed to the annoying startup time of Java apps is great! Speeds up development greatly.
    So, our problem sounds just like yours. Apparently, the Client, which creates an instance of the plugin engine, tries to access a plugin (after the engine loades it via a new classloader instance for each plugin). Apparently, it says NoDefClassFound, because as you say, the client classloader has no idea about the plugin class loaded by another classloader.
    My co-developer came up with one solution, which I really dont like, but seems to be the only way. The client MUST have the class (java .class file) in its classpath in order to work with the class loaded by another class loader. Much like how in an EJB container, the web server calling to EJB MUST contain the Home and Remote interface .class files in its classpath, the same thing needs to be done here. For us, this means if a plugin depends on 5 others, it must contain ALL of the .class files of those plugins it depends on, so that the classloader instance that loads the plugin, can also see those classes and work with them.
    Have you got any other ideas? I really dislike that this has to be done in this manner. It seems to me that the JVM should be able to allow various class loaders to work with one another in such a way that if a client loaded by one classloader has an import statement in it to use a class, the JVM should be able to fetch the .class out of the other classloader and share it, or something!
    This seems to me that there really is no way to actually properly unload and then reload a class so that the JVM will discard and free up the previous class completely, while using the new class.
    I would be interested in discussing this topic further. Maybe some others will join in and help out on this topic. I am surprised there isn't a top-level forum topic about things like class loaders, JVM, etc. I wish there was a way to add one!

  • Dynamic class loading in J2ME

    Hi all,
    Couple of questions. Is dynamic class loading using classloaders supported in any, if not all versions of J2ME? I guess I should ask first, what exactly does J2ME cover? I see KVM, but do watches and PDA's, set top boxes, refrigerators and so forth all run the same J2ME JVM? Or are their "less feature full" versions? I was hoping the J2ME spec would be the "lowest common denominator" to program for, but I thought I read somewhere that small devices like watches may even have a "smaller" J2ME JVM or something, less capable. So can I write code for J2ME and it will run on all small devices like cell phones, pda's, and so forth? Or is there another J2ME version, perhaps small than J2ME.
    So, from what I have found so far, it appears dynamic class loading is done at startup from a DB (of sorts) as opposed to being able to dynamically find/load classes. If this is so, is there any way to support downloading and reloading new classes like you can with J2SE, such as the hot-swap feature of web servers? Does Class.forName() at least work in that you can "replace" a class with a new version, even if it is not able to have a separate classloader instance? My guess is that J2ME supports only a single classloader space, but I thought I read somewhere that Class.forName() is available. J2ME API shows it I believe, but I could be wrong.
    Any help on this topic would be appreciated.
    Thanks.

    Dynamic class loading is not available in most (if not all) J2ME profiles and configurations. Class.forName() is available (at least in the MID profile), but not to be used for dynamic class loading. It can be used when using device-specific APIs where you can try to load a class containing device specific methods (for example a class that works only on certain Nokia phones, and has methods playSound() and vibrate(), which are not available in MIDP), and if you catch a ClassNotFound exception you can load a class that doesn't use the device specific APIs and contains stubs of the methods, or you can disable certain features in you application that need those features. For an example implementation you can have a look at Nokia's Block Game example (available from their developer site - http://www.forum.nokia.com/main.html).
    As for your other more general questions about different JVM's and such, you should read all about the different configurations and profiles available in J2ME (plenty of information using in the J2ME link on this site).

  • How to define my startup class in an .ear package?

    I am using WL6.0SP2 on solaris.
    I plan to package my application as an .ear file and to put all necesarry class
    files in there (it will has one .war file for the web tier and one .jar file for
    the EJBs).
    I want, when Weblogic loads my .ear file (i.e. my application), to execute my
    special startup class, which initializes some caches, etc.
    I do not want to define a startup/shutdown class in the console, because it is
    only specific to my application and this startup class is not present in the weblogic
    classpath during weblogic startup.
    The correct place should be in application.xml, but I don't see such thing in
    the DTD.
    Thank you,
    Ivaylo Zlatev

    There is no way to do this on the EAR level - you can use load-on-startup
    servlet(s) in your web component, or initial-beans-in-free-pool=1 EJB.
    Ivaylo Zlatev <[email protected]> wrote:
    I am using WL6.0SP2 on solaris.
    I plan to package my application as an .ear file and to put all necesarry class
    files in there (it will has one .war file for the web tier and one .jar file for
    the EJBs).
    I want, when Weblogic loads my .ear file (i.e. my application), to execute my
    special startup class, which initializes some caches, etc.
    I do not want to define a startup/shutdown class in the console, because it is
    only specific to my application and this startup class is not present in the weblogic
    classpath during weblogic startup.
    The correct place should be in application.xml, but I don't see such thing in
    the DTD.
    Thank you,
    Ivaylo Zlatev--
    Dimitri

  • Problems with Deployment, Startup classes and MBeanHome

    Hello,
    we have the following problem: How to initialize our application
    correctly???
    We are using MDBs as message consumers but have to guarantee the order of
    incoming
    messages. Due to a shortcoming in the JMS implementation (Order of
    redelivered messages
    is not guaranteed before WLS 8.1!!!) we are using a singleton class to keep
    the health state
    of the different message queues within the application (controlling whether
    the MDBs are
    supposed to proceed with processing or to discard any incoming messages).
    Thus the MDBs
    have to access this singleton, what implies latter has to be initialized
    prior to the application
    deployment. That's what we are using a startup class for, which is marked to
    be loaded before
    appplication deployment...
    Fortunately the according bug is fixed with WLS 7.0.2.0, so the class is
    loaded, but we are
    not able to access the MBeanHome interface (We like to register MBean to
    provide
    adminstrative access to the health state)!!!
    javax.naming.NameNotFoundException: Unable to resolve
    'weblogic.management.home.localhome' Resolved: 'weblogic.management'
    Unresolved:'home' ; remaining name 'home.localhome'
    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
    So when is the MBeanServer started???
    Before application deployment??? After??? Is there any way to tell WLS not
    to load the startup
    class before the MBeanServer is available respectively the MBeanHome is
    accessible via JNDI
    but before application deployment???
    Any hints are welcome!!!
    Regards,
    CK

    this seems like a bug. the mbeanhome should be available for lookup in
    startup classes. also posting to system management newsgroup.
    "Carsten Kaiser" <[email protected]> wrote in message
    news:[email protected]..
    Hello,
    we have the following problem: How to initialize our application
    correctly???
    We are using MDBs as message consumers but have to guarantee the order of
    incoming
    messages. Due to a shortcoming in the JMS implementation (Order of
    redelivered messages
    is not guaranteed before WLS 8.1!!!) we are using a singleton class tokeep
    the health state
    of the different message queues within the application (controllingwhether
    the MDBs are
    supposed to proceed with processing or to discard any incoming messages).
    Thus the MDBs
    have to access this singleton, what implies latter has to be initialized
    prior to the application
    deployment. That's what we are using a startup class for, which is markedto
    be loaded before
    appplication deployment...
    Fortunately the according bug is fixed with WLS 7.0.2.0, so the class is
    loaded, but we are
    not able to access the MBeanHome interface (We like to register MBean to
    provide
    adminstrative access to the health state)!!!
    javax.naming.NameNotFoundException: Unable to resolve
    'weblogic.management.home.localhome' Resolved: 'weblogic.management'
    Unresolved:'home' ; remaining name 'home.localhome'
    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
    So when is the MBeanServer started???
    Before application deployment??? After??? Is there any way to tell WLS not
    to load the startup
    class before the MBeanServer is available respectively the MBeanHome is
    accessible via JNDI
    but before application deployment???
    Any hints are welcome!!!
    Regards,
    CK

  • Order of class loading in a Web Application

    Hi,
    I have been trying to find out if there is a defined order in which classes contained in WEB-INF/classes
    and/or WEB-INF/lib should be loaded.
    There doesn't appear to be any mention of class loading order in either the J2EE 1.3 or J2EE 1.4
    specifications. That does not mean that there isn't a defined class load order, it just means I haven't found one.
    Typical behaviour from servers such as Tomcat (reference implementation of the Servlet Engine) show
    that classes in WEB-INF/classes are loaded before classes contained in jars under WEB-INF/lib.
    Because there doesn't appear to be a mandated class load order I cannot assume that the same
    behaviour holds for all servers, unless someone here knows better of course.
    The reason for the question is that relying on the exhibited class load order means we can patch web applications by simply putting the patch under the WEB-INF/classes directory.
    If this should not be relied upon then patches will have to be applied directly to the affected jar files,
    this is not a problem in itself however it is nice to be able to keep the patches out of the jars for
    ease of rolling back patches without having to copy jar files all over the place.
    Any insights would be welcome.
    Thanks

    If you say that it is server specific i don't find
    that to be the correct answer b'cozI didn't give an answer, I am looking for one. I gave an example of the behaviour that Tomcat 4.1.x
    exhibits, one that we currently make use of for patching web applications. My question was about
    whether or not this behaviour can be relied upon.
    the class files are depended on the jar files which
    need to checked in first before getting loaded b'coz
    it should check for dependent files before only while
    getting deployed.This is why the class load order is important.
    Is the Web Application Classloader going to look in WEB-INF/classes first every time followed
    by WEB-INF/lib everytime, is the order undefined, or is it reversed?
    More over if you just think of class loading mechanism
    of classes folder only then it is loaded in the order
    specified in the web.xml file.
    in this we specify the order of loading.As far as I know web.xml does not allow you to specify where classes should be loaded from and in
    which classpath order, you define which classes should be used for application components.
    The only load order you can specify is the load order of servlets on startup.
    If you know different I would love to know how you would configure web.xml to specify the classpath order
    in which classes are loaded.

  • Custom applet class loader, how?

    Fellow Java programmers;
    I would like to load 'secure' class files (ie encrypted) into an applet at startup time.
    I have code that does this for a normal java program.
    How do you go about using a custom class loader in an applet?
    Would something like this work? (using say *.Xclass local encrypted class files)
    ..somewhere in theapplet: init().. runClass()
    .public void runClass(name)
    { aCL = new AppletClassLoader(); // extends ClassLoader
    Class c = aCL.loadClass(name);
    Method m= c.getMethod("main"..)
    m.invoke(...);
    Your comments or pehaps a code snippet would be appreciated.
    Thanks, John

    John,
    this does not work without modifying the runtime client environment.
    Security constraints will prevent you from setting up a new class loader, so you will have to at least grant this permission in a policy file deployed to your clients as you will have to deplay the encryption keys.
    As bringing in a new class loader from an applet is highly security critical, this should be backed by a rather strict policy and by signing the applet.
    Though the example you provided might work, the class loader implementation itself is not so easy-
    If you would like to imitate the findClass() and loadClass() methods from SUN you will see that those are complex and not suitable for "hooking" in an encrypted stream.
    You might try an easier way:
    Load the class data as an encrypted byte array, decrypt it and use SUNs class loader methods to define a JAVA class out of this byte array:
    ClassLoader.defineClass(String�name, byte[]�b, int off, int�len)
    This seems to be easier than implmenting your own loader.
    Oliver

  • How to register a regular rmi object in the class which is not setted as startup classes?

    hi:
    it seems the rmi object can only be registed in a startup class,
    is there any way to do this in an nostartup class?
    Thanks for any clue.
    Reno hu
    TCSI

    Yes.
    It is possible to export an RMI object from a servlet's init() method. You
    will have to specify a <load-on-startup> tag in the web.xml deployment
    descriptor, but otherwise, it's pretty straightforward to bind/unbind an RMI
    object when an application is deployed/undeployed.
    -Don
    Andy Piper wrote:
    "Reno hu" <[email protected]> writes:
    No
    hi:
    it seems the rmi object can only be registed in a startup class,
    is there any way to do this in an nostartup class?
    Thanks for any clue.
    Reno hu
    TCSI
    " .sigs are like your face - rarely seen by you and uglier than you think"
    mail: [email protected]

Maybe you are looking for

  • How to upload win 8.1 from my external to my new ssd on a hp pavillion g-6 2200us

    need instructions on how to upload win 8.1 from my external to my new  ssd on a hp pavillion g-6 2200us.  My hd got fried and I bought an SSD to replace it. I  got the recovery downloads from hps website and dowloaded them to an external.  Now I need

  • CS6 crashes almost immediately after startup of a program

    It doesn't matter after I run PS, Illustrator, or Premiere Pro, as soon as I start a CS6 application, it will load for a few seconds only, and then crash out.  I do not get any warning or messages to know what is the reason for this happening.  I hav

  • I can't open safari

    Hi everybody! This is my first time here. After my latest update on my macbook I can't open safari.... whenever i try to open it, the window shows up for like half a second then closes.. Here is the message it keeps giving me... Process: Safari 2277

  • JAVA(JCO) and BW Connectivity

    Hi, I am using JCO to get data from R/3. At the same time I want to get data from BW server also. Is there any methods available for this activity. How make it possible, Please provide details. Thanks, Ask123

  • ATV purchased don't deduct from my Itunes account

    When I purchased ATV I also purchased a $50 gift card. I went to Itunes and redeemed the card and the $50 showed up in Itunes. I've noticed that when I rent or purchase movies using ATV I get a pdf receipt emailed to me but money isn't deducted from