JDBC Resource Ref from various init methods

Hello
I want to do some DB activity using JDBC Conn Pool resource ref during webapp startup.
I tried putting the code in
- contextInitialized()
- filter init()
- servlet init()
None of them worked. Even though the code is executed, its unable to fetch the JDBC Conn Pool ref since the ref is getting initialzied only after these init methods are executed.
Any workarounds? Is there a way to make Resource Ref to initialize first?
thanks
ssk

ur db activities can configure in web.xml to perform actions when time of server starting for that write activities code in one servlet and configure that servlet in web.xml as to load at time of server staring it may solve ur problem

Similar Messages

  • Cannot access to JDBC Resource from application client

    Hello!
    I have created a Connection Pool to my PostgreSQL database and a JDBC Resource via Admin Console in SJSAS 9.1_02. I can ping the connection pool ok.
    I can get a Connection from a Stateless session Bean:
    Context ctx = new InitialContext();               
    DataSource ds = (DataSource)ctx.lookup("jdbc/pgDS");
    Connection c = ds.getConnection();
    //working with c
    c.close();It works fine.
    But when I try to do the same from client application (created with netbeans template "Enterprise Application Client"), I get an exception on this line: Connection c = ds.getConnection();
    The Exception:
    28.10.2008 20:09:10 com.sun.gjc.common.DataSourceObjectBuilder getDataSourceObject
    SEVERE: RAR5099 : Wrong class name or classpath for Datasource Object
    java.lang.ClassNotFoundException: org.postgresql.ds.PGSimpleDataSource
    at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:741)
    at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:631)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:251)
    at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:106)
    at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:970)
    at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:139)
    at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:93)
    at com.sun.enterprise.resource.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:68)
    at com.sun.enterprise.resource.AbstractResourcePool.createSingleResource(AbstractResourcePool.java:891)
    at com.sun.enterprise.resource.AbstractResourcePool.createResourceAndAddToPool(AbstractResourcePool.java:1752)
    at com.sun.enterprise.resource.AbstractResourcePool.createResources(AbstractResourcePool.java:917)
    at com.sun.enterprise.resource.AbstractResourcePool.initPool(AbstractResourcePool.java:225)
    at com.sun.enterprise.resource.AbstractResourcePool.internalGetResource(AbstractResourcePool.java:516)
    at com.sun.enterprise.resource.AbstractResourcePool.getResource(AbstractResourcePool.java:443)
    at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:248)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:176)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:327)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:189)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:165)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:158)
    at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:108)
    at converter.Main.doConversion(Main.java:56)
    at converter.Main.main(Main.java:29)
    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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
    at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
    at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
    at com.sun.enterprise.appclient.Main.main(Main.java:200)
    28.10.2008 20:09:10 com.sun.enterprise.resource.LocalTxConnectorAllocator createResource
    WARNING: RAR5038:Unexpected exception while creating resource for pool vlkvPostgresPool. Exception : Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource
    28.10.2008 20:09:10 com.sun.enterprise.connectors.ConnectionManagerImpl internalGetConnection
    WARNING: RAR5117 : Failed to obtain/create connection from connection pool [ vlkvPostgresPool ]. Reason : Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource
    28.10.2008 20:09:10 com.sun.gjc.spi.base.DataSource getConnection
    WARNING: RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource]
    Caught an unexpected exception!
    java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource
    at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:115)
    at converter.Main.doConversion(Main.java:56)
    at converter.Main.main(Main.java:29)
    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 com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
    at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
    at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
    at com.sun.enterprise.appclient.Main.main(Main.java:200)
    Please help me, I'm trying to solve it all day long...

    the issue is right in the exception trace. obviously, your client code does not have the "org.postgresql.ds.PGSimpleDataSource" class in its classpath.
    note, generally DataSources are not something you would access from a remote client.
    Edited by: jtahlborn on Oct 28, 2008 4:18 PM

  • Urgent....How can i redirect to my jsp page from servlet in init() method..

    How can i redirect to my jsp page from servlet in init() method..Becoz that servlet is calling while server startsup..so im writing some piece of code in init() method..after that i want to redirect to some jsp page ...is it possible?
    using RequestDispatcher..its not possible..becoz
    RequestDispatcher rd = sc.getRequestDispatcher("goto.jsp");
    rd.foward(req,res);
    Here the request and response are null objects..
    So mi question can frame as how can i get request/response in servlet's init method()..

    Hi guys
    did any one get a solution for this issue. calling a jsp in the startup of the servlet, i mean in the startup servlet. I do have a same req like i need to call a JSP which does some data reterival and calculations and i am putting the results in the cache. so in the jsp there in no output of HTML. when i use the URLConnection i am getting a error as below.
    java.net.SocketException: Unexpected end of file from server
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:707)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:612)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:705)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:612)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
    nection.java:519)
    at com.toysrus.fns.alphablox.Startup.callJSP(Unknown Source)
    at com.toysrus.fns.alphablox.Startup.init(Unknown Source)
    at org.apache.tomcat.core.ServletWrapper.doInit(ServletWrapper.java:317)
    so plz do let me know how to call a jsp in the start up of a servlet.
    Thanks
    Vidya

  • Calling init() method from "session scope" backing beans (AbstractPageBean)

    hi,
    i prepared a jsp/jsf page named DBmanage, its backing bean's scope is set to "session"
    the page contains - among other components - one radiobuttongroup, the buttons of which i would like to rename at the first time when the user visits the page... (default names are "item 1", "item 2", "item 3")
    i thought that the overridden init() method does the work for me with this simple code:
    import com.sun.webui.jsf.model.Option
    @override
    init() {
    rbg_default_options.setOption( new Option[]{new Option("it1", "RB1"), new Option("it2", "RB2")}
    so, let see how this code works when DBmanage backing bean's scope is "request"
    great! i see a radiobuttongroup with two buttons, named RB1 and RB2
    ok, now i change the scope to "session"
    sh&#@t!!! now i'm gazing at a page with buttons named "item 1", "item 2", "item 3"
    let's place a breakpoint inside the init() method and DEBUG... and my init() code has not run(??), how can this happen? init() method is valid only for request beans?
    pls! could anyone help me?
    ps.: i work with netbeans6.0 & glassfish
    thanks
    Gabor

    it's ok. i found out why it wasn't working.
    my scope was set to "session", but had to be "request" so that i could use the params syntax.
    thanks anyway.

  • How to map a resource-ref in Jdev11 deployment plan editor

    Hi all,
    I have a ADF/BC web application where the BC4J application module does connect to a JNDI data source.
    The ViewController project does declare the Datasource as needed resource in its web.xml:
    <resource-ref>
    <res-ref-name>jdbc/wlogDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    Now i need to map that resouurce-ref to an actual data source that exist in the application container at deploy time.
    As already in JDev 10.1.3 the deployment-plan editor provided during deployment from JDeveloper does not provide any means to enter the deployment mapping for that resourc-ref (When clicking on the node (which is named resouce-ref - that becomes very confusing in case you have defined three resource-refs in your web.xml) the right pane shows a gray pane without any edit controls) So I cannot enter the resource-ref-mapping unsing the Jdev UI.
    My workaround in 10.1.3 was to save the deployment plan to disk and manually edit it, adding
    <resource-ref-mapping name="jdbc/wlogDS" location="jdbc/wlogTestEnvDS">
    </resource-ref-mapping>
    to the orion-web-app document for that webapp
    But in Jdev 11 the deployment plan file format changed (including some binary inline checksums???)and when doing exactly the same thing, the loading of the manually edited file into Jdev Deployment plan editor fails with
    oracle.oc4j.admin.deploy.spi.exceptions.ExtendedConfigurationException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:1002)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: oracle.oc4j.admin.jmx.shared.exceptions.JMXRuntimeException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:240)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         ... 33 more
    Caused by: java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         ... 35 more
    oracle.oc4j.admin.jmx.shared.exceptions.JMXRuntimeException: invalid entry size (expected 1886413103 but got 846 bytes)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:240)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         ... 35 more
    ---- Embedded exception
    java.util.zip.ZipException: invalid entry size (expected 1886413103 but got 846 bytes)
         at java.util.zip.ZipInputStream.readEnd(ZipInputStream.java:368)
         at java.util.zip.ZipInputStream.read(ZipInputStream.java:141)
         at java.util.jar.JarInputStream.read(JarInputStream.java:171)
         at java.io.FilterInputStream.read(FilterInputStream.java:90)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.copy(JarTool.java:1343)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readEntry(JarTool.java:255)
         at oracle.oc4j.admin.jmx.shared.util.JarTool.readJar(JarTool.java:232)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.parseDeploymentPlan(DeplConfiguration.java:1464)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:761)
         at oracle.oc4j.admin.deploy.spi.DeplConfiguration.restore(DeplConfiguration.java:738)
         at oracle.jdevimpl.deploy.jsr88.ConfigModel.loadConfig(ConfigModel.java:201)
         at oracle.jdevimpl.deploy.jsr88.Jsr88ConfigurationPanel.actionPerformed(Jsr88ConfigurationPanel.java:212)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
         at java.awt.Component.processMouseEvent(Component.java:5488)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
         at java.awt.Component.processEvent(Component.java:5253)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
         at java.awt.Container.dispatchEventImpl(Container.java:2010)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
         at java.awt.Dialog$1.run(Dialog.java:515)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    So no chance here to add a resource-ref-mapping. The alternative way of specifying a resource-ref-mapping using the web-based deployment proces of the Enterprise manager is impossible because the 11g preview OC4j does not include an enterprise manger web-application.
    So how do I deploy the application correctly other that manually modifying the deployed orion-web-app.xml file in j2ee/home/application-deployments/earName/warName/orion-web-app.xml after deploying the app without a resource-ref-mapping? Because doing that step manually each time is quite annoying.
    Greetings,
    Thomas

    Seems i'm slowly answering my own questions :-) I finally got my RMI service, even using several methods. But ...
    It doesnt help me as the lookups are not done on the context classloader it seems. That means i need to add all my service jars to the global class path causing massive sealing issues with the war contained jars. Pretty useless. All the needed stubs etc are in the war.
    But as it seems that the web app needs to contain deployment site info (sun-web.xml) anyway, i could just as easy read my own web xml from the context and resolve the services myself. But i do wonder how this is supposed to work with EJB and CORBA stuff. The samples actually also needed to add stuff to the global class path.
    I'm probably not the easiest customer as i write this kind of middle ware for a living but i really like sjsws. It makes my own one partly obsolete as it is almost as fast and has all the fancy deployment stuff (in my case i use an in-house mobile agent frame work and agents that travel the various networks ) and infinitely easier to learn to work with and understand In case anyone is wondering i wrote Uhura because 1. i needed speed so it is a servlet based webserver and not a web server with a servlet module. 2. could not wait on ibm to fix bugs in webspere and we only used the servlet bit. 2. i needed full J2EE security and 3. i needed it to run on many OS'es
    That is why i still need the same war files to be able to be deployed in both systems as i still need my systems going on IBM iservers etc.
    Again i would welcome some feed back on such and related issues
    Cheers,
    Peter

  • Some doubts in using resource-ref,connection pool n Data-source

    Hi all ,
    I need little bit clarification in the following points.
    1) Does the connection pool which is created can be displayed in JNDI Tree???
    I am seeing only DataSOurce in the JNDI Tree Only.
    2)In case of Bean Managed Persistance, in ejb-jar.xml,
    I had given the following info.
    <resource-ref>
             <res-ref-name>ramukkDataSource</res-ref-name>
             <res-type>javax.sql.DataSource</res-type>
             <res-auth>Container</res-auth>
         </resource-ref>Does the <res-ref-name> refers to Datasource Name??
    In weblogic-ejb-jar.xml
    <reference-descriptor>
           <resource-description>
              <res-ref-name>ramukkDataSource</res-ref-name>
              <jndi-name>ramukkpool</jndi-name>
           </resource-description>
         </reference-descriptor>Here <jndi-name> refers to connection pool as per weblogic bible book.
    If so when i deployed my ejb into the server iam getting Datasource cant be found.
    If i had given like the following,
    In ejb-jar.xml
    <resource-ref>
              <res-ref-name>jdbc/ramuJndi</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
         </resource-ref> In weblogic-ejb-jar.xml
         <reference-descriptor>
              <resource-description>
               <res-ref-name>jdbc/ramuJndi</res-ref-name>
               <jndi-name>jdbc/ramuJndi</jndi-name>
           </resource-description>
        </reference-descriptor>Then only my ejb code is successfully deploying doing some work which is as per xpectation.
    Can any body tell why I have to give the same name for <res-ref-name> n <jndi-name>??
    I am working on this problem from last one week. Still not found the solution.
    Connection Pool Creation
    GENERAL::
    Name : ramukkpool
    url : jdbc:mysql://localhost:3306/test
    Driver Classname: com.mysql.jdbc.Driver
    Properties :
    user = root
    Password = XXX
    create
    TARGETS::
    i had shifted myServer from left side to right side n clicked >>Apply
    (Techncially can we say this as deploying the connection pool into server ???????????
    If not how to deploy the connection pool into server??)
    I did not get any errors in the console.
    Now i am creating a datasource
    CONFIGURATION:
    Name : ramukkDataSource
    JNDIName: jdbc/ramuJndi(Does we have to follow this convention only?? i.e JNDIName should start with jdbc/ only)
    PoolName: ramukkpool
    create
    TARGETS::
    I had shifed myServer from left to right n >>Apply.
    Now also i did not get any errors in the console.Thanx(in advance),
    ramu

    I have read the documentation.
    I changed my class to oracle.jdbc.pool.OracleConnectionCacheImpl from
    oracle.jdbc.pool.OracleConnectionPoolDataSource
    I observed in the EM that the Open JDBC Connections and Total JDBC Connections are the same. When I used oracle.jdbc.pool.OracleConnectionPoolDataSource my Total JDBC Connections was increasing and Open JDBC Connections remains 0.
    My question still remains unanswered, could some kindly help.
    Q? I have defined a data source in JDeveloper using
    oracle.jdbc.pool.OracleConnectionCacheImpl
    In my java bean I am using the code pasted below to make a connection to database.
    Can some one tell whether I am using the correct method of connection pooling mechanism or do I need to make some changes? This application uses JSP and used by lots of people which hits database very frequently.
    Any help is highly appreciable.
    Thanks in advance.
    *******Code to make connection*********
    private javax.naming.InitialContext context = null;
    private javax.sql.DataSource jdbcURL = null;
    private static final String url = "jdbc/ProdCoreDS";
    public boolean openConnection()
    try
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    context = new javax.naming.InitialContext();
    jdbcURL = (javax.sql.DataSource)context.lookup(url);
    con =  jdbcURL.getConnection();
    return true;
      catch(Exception e)
           System.out.println("Error in the Connection  "+e);
        e.printStackTrace();
                 return false;
         }}

  • How to access JDBC Resource registered in Sun Java System App Server ?

    I want to create a stand-alone JDBC application with Java SE using Swing technologies and JNDI technology. The purpose of using JNDI technology is to avoid change of Java Source Code every time I move the database to different location. This Java application will be used in a standalone PC installed with Windows XP Professional with no LAN / WAN connection. Of course, Internet connection is available with the PC.
    I use JavaDB to store the data tables and the location of the database is D:\E-DRIVE\SAPDEV. Tomorrow, if I move this database to C:\SAPDEV or any network drive, I do not want to change the Java Source code. I want to use JNDI which, if I am not wrong, helps developers to avoid manual change of Java source code whenever the database location is changed. Changes have to be made only in the JNDI Name which contains all relevant information about the database in order to get connection no matter where the database SAPDEV is stored; it can be placed under D:\E-DRIVE directory or C:\ directory of the hard disk. To implement my intention, I started developing Java application as per the steps mentioned below:
    Step 1:
    To proceed, first, I sought the help of Sun Java System Application Server Admin Console. I created JNDI object for Connection Pool using the menu path Common Tasks->Resources->JDBC->Connection Pools.
    JNDI Name : ABAPRPY
    Resource Type : javax.sql.DataSource
    Datasource class : org.apache.derby.jdbc.ClientDataSource
    Description : ABAP Program Repository
    The Connection Pool creation has options for General, Advanced and Additional Settings tabs and I made all the settings relevant to the database I created in D:\E-DRIVE\SAPDEV.
    To confirm whether the above settings are correct, I pressed the Ping push button which is available in the General tab of the connection pool creation screen. The system responded with the message Ping Succeeded.
    Step 2:
    I created a JDBC Resource using the menu path Common Tasks->Resources->JDBC->JDBC Resources.
    JNDI Name : jdbc/SAPDEV
    Pool Name : ABAPRPY
    Description : Database Connection for SAPDEV database
    Status : Enabled
    I can see all the above settings recorded in the domain.xml which is placed in the folder
    C:\Sun\AppServer\domains\domain1\config
    Step 3:
    I have made sure that Sun Java System Application Server is up and running in the background with JavaDB server. I created a Java Program making sure the following JAR files are included in the classpath:
    appserv-admin.jar
    appserv-ee.jar
    appserv-rt.jar
    javaee.jar
    fscontext.jar
    Plus, the lib directory of JDK 1.6 & C:\Sun\AppServer\domains\domain1\config
    Source code of the program is as follows: I used NetBeans IDE to create my project file.
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.naming.*;
    import javax.activation.DataSource;
    public class JNDILookup {
    public static void main(String[] args) {
    try {
    InitialContext initCtx = new InitialContext();
    DataSource ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/sapdev>");
    } catch (NamingException ex) {
    Logger.getLogger(JNDILookup.class.getName()).log(Level.SEVERE, null, ex);
    When I attempted to compile the above program in NetBeans IDE ,no compilation error reported. But while executing the program, I got the following run-time error message:
    SEVERE: null
    javax.naming.NameNotFoundException: No object bound for java:comp/env/jdbc/sapdev> [Root exception is java.lang.NullPointerException]
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:224)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:396)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at SAPConnect.JNDILookup.main(JNDILookup.java:21)
    Caused by: java.lang.NullPointerException
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:173)
    ... 3 more
    Now, I want to come out of this situation; at the same time, I want to preserve the settings I have made in the Sun Java System Application Server Admin Console. That is, I want to programmatically access the data source using Connection Pool created in Sun Java System Application Server Admin Console.
    I request dear forum members to provide me an appropriate solution.
    Thanks and regards,
    K. Rangarajan.

    jay44 wrote:
    Bare in mind I am attempting the context.lookup() from inside the container (my code is in a session bean). I have accessed the server and have my bean "say hello" first to verify the bean works OK, then I call a method with this rather standard code:
    String jndiDataSourceName ="Second_EJB_Module_DataBase";
    Logger.getLogger(DynamicPU.class.getName()).log(Level.INFO,"Programatically acquiring JNDI DataDource: "+ jndiDataSourceName);
    InitialContext ctx;
    try {
    ctx = new InitialContext();
    ds =(DataSource)ctx.lookup("java:comp/env/jdbc/"+jndiDataSourceName);
    } catch (NamingException ex) {
    Logger.getLogger(DynamicPU.class.getName()).log(Level.SEVERE, null, ex);
    return "Exception generated trying to preform JDBC DataSource lookup. \n"+ex.toString();
    But when I run the code the server log shows the initial context is created Ok, but an exception is thrown becasue the resource name is not found:
    (and i have tried vriations of ctx.lookup("jdbc/"+jndiDataSourceName) etc etc
    You are fine here. It works in container because the InitialContext properties have been supplied already. That was the link I forwarded earlier. The InitialContext you create locally needs to locate the container JNDI. That is what the properties specify.
    Where I am confused is where you indicate the stack below is from the server log. So, you initiate a standalone (java main method) application, create an InitialContext, and you see the results in your app server log?
    LDR5010: All ejb(s) of [EJB_Module_1] loaded successfully!
    Programatically acquiring JNDI DataDource: Second_EJB_Module_DataBase
    The log message is null.
    javax.naming.NameNotFoundException: Second_EJB_Module_DataBase not found
    at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:216)
    at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:188)
    at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:192)...
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    This is strange since I can see this resource (a JDBC connection named Second_EJB_Module_DataBase) is configured on the server from the server's admin console.
    That is why you can obtain a lookup from within the container (app server).
    For this lookup to work it may be that one must map the name inside an ejb-jar.xml deployed with the application, but I have also read some resources like jdbc connection should have a default name. Does anyone know if my lookup() should work without using an ejb-jar.xml mfile to explcitly map the reource for my application?
    Both EBJ's and data sources can be referenced via JNDI. It's a remote lookup (that is normally optimized if it is running in the same JVM). You should not have any dependencies on a JDBC data source being set-up on ejb-jar.xml. That file can of course impact your EJB's. However, data sources are normally set-up on a container-specific basis (e.g., you probably did it through a console, but there is a spec somewhere about how to set up a data source via a resource the app server looks for; it varies from app server to app server). However, once you have that container-specific data source set-up, JNDI operates vendor-neutral. You should be able to take the code above and move it to JBoss or Weblogic or Tomcat or whatever (this is an ideal, in practice, the vendors sometimes put a data source in a name you would not expect, but again, you can use their JMX console to see what the JNDI name is).
    (As I stated above if I have to use a deployment discriptor to get at this JNDI datasource, then solution is not "programmatic" as newly configured datasources could not be accessed without redeploying the entire application).
    As JSchell alluded to, you will always have at least something vendor-specific. JNDI itself (the code you wrote) is totally portable. However, you have to set the various JNDI environment properties to a given vendor's spec. Ideally, you should not need a vendor's actual InitialContext application, but it's a possibility. Once you can safely cast to Context, you should be vendor-neutral (if not, demand your money back).
    So that is exactly where I am stuck, trying to get the lookup to work and wondering if it should work without and xml file mapping the resource for my app.
    What we ended up doing for standalone was to provide our own JNDI. If you look at the open source project JOTM, there are examples on how to use that with XBean (if integrating with Spring, as we did), you can easily set up a data source that runs standalone exactly as you get in the container. Another benefit is you get full JTA/JTS support and the ability to run XA transactions. (This might all be alphabet soup, but the app server gives it to you, and this is the way we ended up doing the same: JNDI + JTA + JTS + XA). It ends up the same application code uses a "vanilla" InitialContext and all we have to do is write one or two xml files (one for our app server, a couple for JOTM), and our actual code works the same.
    I still think you have a shot at getting to the container's JNDI, just not using their full-blown app server JAR.
    I think there must be a simple way to do this with an ejb-jar.xml, I am no expert in JNDI, I could be missing something simple, I will keep at it and post an answer here if I come up with it.
    Thanks, jayIt is simple to code. Getting it to integrate with your app server, yes, that can be challenging. But it has nothing to do with EJB's. Write a simple test. Using nothing but DataSource and InitialContext. Let us know where you get stuck.
    - Saish

  • JDBInsight 2.0 Released - True J2EE/JDBC Resource Transaction Analysis !!

    DUBLIN, IRELAND - 29th October, 2003 - JInspired (www.jinspired.com), a leader in J2EE(tm) transaction analysis, today announced JDBInsight 2.0, the next generation of J2EE performance management products from JInspired.
    Downloads: http://www.jinspired.com/products/jdbinsight/downloads/index.html
    JDBInsight is the first product to effectively integrate Java profiling information with JDBC/SQL transaction analysis. Version 2.0 has numerous features derived from its support of the Java VM Profiling Interface (JVMPI) such as Java call stack analysis, cpu, blocking and waiting measurements at the transaction path level. Clock measurements are adjusted for blocking, waiting and gc pauses. New features in this release
    - New console user interface: Many new informative visualizations of J2EE transactions and performance execution profiles have been added. Including call stack graphs, entry point tree maps, sequence diagrams, call stack and transaction transcripts. Additional views included allow for navigation of the performance profile via database table or column, Java package, class, or method, technology classification, SQL tokens, or transaction entry points.
    - Java call stack classification engine: Developers, testers, database and J2EE server administrators can now better understand the interaction of various Java enterprise technologies with corporate databases. Classifications are available for Java enterprise technologies such as EJB, Hibernate, JDO, JMS, JSP, Servlets, JTS, JDBC, and Struts.
    - Terminal services: The terminal services add-on provides a quick and easy way to communicate with multiple servers without having to use a graphical user interface. This facilitates the streamlined connection, activation and deactivation of profiles on local or remote servers with the ability to control multiple servers from a single terminal. The terminal environment provides a powerful environment to create and schedule snapshot information, in order to monitor servers at regular intervals, with the ability to store and retrieve snapshots from any mounted drive, as well as providing a rich set of commands, that can be executed from saved scripts, to assist in analysis of this highly detailed profile data.
    - Transaction demarcations: JDBInsight 2.0 is the first performance management product to have the ability to detect and present resource transaction demarcations - allowing visual sub-transaction identification.
    - Resource Management: JDBInsight keeps counters representing objects states for each JDBC interception point create a resource object. When a JDBC resource changes state the allocation site counters are updated. This helps to pinpoint source code locations where resource objects are created and not closed properly or freed from memory. Because an interception is a combination of call stack and SQL the view caters for generic J2EE application frameworks which create objects based on application parameters and callers.
    - Xml expor: Various statistical measurements can be viewed in Xml format and copied into applications for custom report generation.
    - Server options: Additional system properties to customize the small amount of overhead added during runs.
    About JDBInsight
    JDBInsight is an innovative enterprise development product, aimed at simplifying the performance tuning and testing of J2EE(tm) applications, which access data through the Java Database Connectivity (JDBC(tm)) API. JDBInsight analyses the access of enterprise data by J2EE(tm) client-, web-, and bean containers. The analysis can encompass transaction executions, from multiple J2EE(tm) containers. JDBInsight captures timing and execution information for enterprise data accessed by Servlets, JavaServer Pages, Session- and Entity Beans using JDBC(tm) or an Entity Bean using a container's persistence engine. JDBInsight can also profile non-J2EE applications that access enterprise data through the JDBC(tm) API.
    What distinguishes JDBInsight from other profiling and performance management tools on the market is that JDBInsight provides analysis from a sequence perspective instead of simply showing a call tree. Inefficiencies in J2EE applications occur mainly at the transaction level such as repeating the execution of a particular SQL locally and globally. JDBInsight facilitates the recognition of database interaction patterns that exhibit inefficiencies when viewed in terms of the sequential execution of a business and/or resource transaction.
    About JInspired
    JInspired located in Ireland, delivers JDBInsight, a comprehensive solution for Application Performance Tuning and Testing that focuses directly on early identification within the development and testing lifecycle. Jinspired offers sophisticated analytical tools, that capture transactional behaviour and performance timing information, across multiple containers in a single console, and presents this information intuitively to the user "Visualizing the Invisible".

    any one

  • Do i need to set Resource Ref's in teh deploy tool for a CMP bean?

    Hi,
    I have a CMP bean which i have deployed, it doesnt work, in the server log shows the following.
    [#|2005-03-10T14:13:21.046+1030|WARNING|sun-appserver-pe8.1|javax.enterprise.system.container.ejb.entity.finder|_ThreadID=16;|JDO74004: Bean 'PersonEntityBean' method ejbFindByPrimaryKey:
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76400: Got a JDBC SQLException while executing the SQL statement:
    SQL statement<select t0.person_id, t0.name from person t0 where t0.person_id = ?> with input values:java.lang.Integer:1.
    Please examine the SQLException for more information.
    NestedException: java.sql.SQLException: No database selected
    THe database has been set up in the connection pools, i thought this was enough, as there is no coded names in the implementation code, am i wrong?
    how do i get my CMP bean to communicate with the database?
    do i need to set up any references?
    thank you for your time
    Gavin.

    You set the JNDI name of the JDBC resource in deploytool. To do this, select your EJB JAR, select the General pane, and click Sun-specific Settings. Enter the JNDI name of your JDBC resource, and then set up the mappings & relationships. The J2EE 1.4 Tutorial's Container Managed Persistence Examples chapter has several examples that show how to do this.
    -Ian Evans

  • Calling from javascript a method which uses accesscontroller.dopriviledged

    Hello everybody!
    I've a problem in accessing my pc resources from a signed applet when calling methods from Javascript.
    If I try from start() or init() methods, I can do it, but as soon as I try from anoter method defined by myself, it throws this me an AccessControlException:access denied.
    I googled and found that I should use this code:
    KeyStore smartCardKeyStore= (KeyStore)
                 AccessController.doPrivileged(
                           new PrivilegedExceptionAction() {
                             public Object run() throws KeyStoreException, NoSuchProviderException, NoSuchAlgorithmException, CertificateException, IOException {
                                 KeyStore alfa;
                                 alfa = KeyStore.getInstance("PKCS11",pkcs11Provider.getName());
                                 alfa.load(null,null);//this is the point where it trhew the AccessControlException
                                 return alfa;
                         );The problem is that with this code, I can't get it work with Firefox (which doesn't throw any exception, just won't work!) neither with IE, which throws this:
    netscape.javascript.JSException: Nome sconosciuto.
    java.lang.Exception: netscape.javascript.JSException: Nome sconosciuto.
         at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
         at sun.plugin.com.DispatchImpl$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.plugin.com.DispatchImpl.invoke(Unknown Source)Please, help me! I'm in a big trouble, since I should finish my project asap and I am not able to pass this cumbersome obstacle...
    Thank you in advance! :)

    Hi! Don,
    You cannot call methods which breach Security from Javascript. That is what SUN says.
    But there is a hack, or a work around...
    Declare a boolean Variable , say named buttonClicked.
    Initailly keep its value false(default).
    Write an inner class that extends a thread class whose RUN method will contain the following piece of Code:
    public void run(){
        while(buttonClicked){
                     KeyStore smartCardKeyStore= (KeyStore)
                 AccessController.doPrivileged(
                           new PrivilegedExceptionAction() {
                             public Object run() throws KeyStoreException, NoSuchProviderException, NoSuchAlgorithmException, CertificateException, IOException {
                                 KeyStore alfa;
                                 alfa = KeyStore.getInstance("PKCS11",pkcs11Provider.getName());
                                 alfa.load(null,null);//this is the point where it trhew the AccessControlException
                                 return alfa;
    }You start the Thread inner class in your init method.
    So, its RUN method will continuously be waiting to go into the while loop.
    And in your start method you will set the +"buttonClicked"+ variable to true upon a Javascript onclick event of a button.
    So, the moment you click a button, you only set the buttonClciked variable to true in your start method--------
    This does, in no way breach security. So no exception is thrown.. But the code which breaches security is initiated by another thread other than that spawned the Applet; so the browser does not care anything about its privileges. It just lets the execution of the code.
    I hope it works for you; be in contact, if it doesn't.
    Thanks and Regards,
    Samba

  • JDBC Resource Mapping

    Hi there,
    I am using S1 AS7....
    1. Can i define a JDBC Resource at the Application level (so that all the beans have access to the Resouce) rather than defining the <resource-ref > tag to all the beans that uses the JDBC Resource.
    How can i do this in S1AS7.0.
    2. In S1AS7.0, can i lookup the JDBC Resource from any business classes which has no corresponding JDBC resource mapping.
    Any idea,
    Thanks & Regards,
    Dinesh.

    Probably a plugin class loading problem ... if you google for some
    combination of eclipse plugin hibernate, you should see many messages on
    the subject.
    Later,
    PW
    P.S. I always prefix my googles with "site:dev.eclipse.org news.eclipse"
    to help narrow them down.

  • ActiveSync Input Form -- To take AD Resource name from Database column

    Hi All,
    My authorative source is a database table called dbTable.
    I am using an input form to provision into Active Directory. The Active Directory resource name is stored in a dbTable column. I first tried to hardcode the name of AD and do the provisioning, it worked. But wen I tried to take the name of the AD from my dbTable column using
    <Field name='waveset.resources'>
    <Comments>Add the AD account user inducted.</Comments>
    <Expansion>
    <block trace='true'>
    <filterdup>
    <appendAll>
    <ref>waveset.resources</ref>
    <list>
    <ref>activeSync.resourceNm</ref>
    </list>
    </appendAll>
    </filterdup>
    </block>
    </Expansion>
    <Disable>
    <block trace='true'>
    <neq>
    <ref>feedOp</ref>
    <s>create</s>
    </neq>
    </block>
    </Disable>
    </Field>
    It didnt work.
    Plz, can anyone tell me how to bring the name of the AD resource in my input form for provisioning into that AD.
    I need help. Plz treat it as urgent coz i can't move further without this being solved.

    Hello, first try to trace the value, using <ref>activeSync.resourceName</ref> should work,
    also read the example in Identity Manager documentation (PDFs) called: "Example: Disabling Accounts through ActiveSync Capable Adapters"
    Regards,
    Edgar Torres

  • Why there are two init methods?

    I copied this code from netbeans for a JApplet.. and it has two init methods
    One is public void init() that calls another initComponents() method.
    And the initComponents() method has all the components defined in it, and it is private.
    I replaced private with public and changed initComponents to init, and then deleted all the init method, it worked that way.
    But why there two methods when you can put every thing in single init() method?
    The init() method has this code in it:
    public void init() {
            try {
                java.awt.EventQueue.invokeAndWait(new Runnable() {
                    public void run() {
                        initComponents();
            } catch (Exception ex) {
                ex.printStackTrace();
        }

    BDLH:
    WWJD? Probably code in Ruby, but I digress. No, he would define an abstract base for that boilerplate code:
    import java.awt.*;
    import java.lang.reflect.*;
    import javax.swing.*;
    public abstract class AbstractApplet extends JApplet {
         public void init() {
              try {
                   EventQueue.invokeAndWait(new Runnable() {
                        public void run() {
                             initComponents();
              } catch (InterruptedException ex) {
                   ex.printStackTrace();
              } catch (InvocationTargetException ex) {
                   ex.printStackTrace();
         protected abstract void initComponents();
         //ditto: start, stop, distroy
    }

  • The Init() method of abstract pagebean always it excute, and i lost data.

    Hi,
    I have applicaction to buid in NetBean 6.1 and JDK 1.6 using Visual Web Java Server Pages. This application to present a view that have a 2 calendar component, 1 dropdownlist, button component and table component.
    The table component show rows where calendar1.date > date1 and calendar2.date < date2 and estado(DropDownList)= status1
    In the init() method of abstractpagebean i set de initial calendar's date that follow
    java.util.Calendar dateAntes = GregorianCalendar.getInstance();
    java.util.Calendar date = GregorianCalendar.getInstance();
    dateAntes.add(java.util.Calendar.MONTH, -1);
    GregorianCalendar gc = new GregorianCalendar(2000, 11, 20);
    //tablePhaseListener = getSessionBean1().getTablePhaseListener();
    calendar1.setSelectedDate(dateAntes.getTime());
    calendar2.setSelectedDate(date.getTime());
    With this initial dates dates i show the table row thw follow
    String command = "SELECT ALL codreqgmc, fechareq,cliente.nomclie,estado.Descripcion as Estado, " +
    "requerimiento.codtecnico, requerimiento.rutclie, requerimiento.codestado " +
    "FROM requerimiento,cliente,estado " +
    "WHERE requerimiento.rutclie=cliente.rutclie and requerimiento.codestado=estado.codestado and fechareq>=" + "'" + formatoFecha.format(calendar1.getSelectedDate()) + "'" +
    "AND fechareq<=" + "'" + formatoFecha.format(calendar2.getSelectedDate()) + "'";
    try {
    getSessionBean1().getRequerimientoRowSet().setCommand(command);
    getSessionBean1().getRequerimientoRowSet().getCommand();
    getSessionBean1().getRequerimientoDataProvider().refresh();
    } catch (Exception e) {
    error("No puede levantar comando");
    log("Cannot switch to person " +
    estados.getSelected().toString(), e);
    The DropDownList implement the ProcessValueChange Event with AutoSubmit On Change properties. At Change choise of DropDown List Component it trigger a event that and execute estados_processValueChange method that to show a table rows accord to the new filter (include the new calendar date if necessary that follow:
    String command = "SELECT ALL codreqgmc, fechareq,cliente.nomclie,estado.Descripcion as Estado, " +
    "requerimiento.codtecnico, requerimiento.rutclie, requerimiento.codestado " +
    "FROM requerimiento,cliente,estado " +
    "WHERE requerimiento.rutclie=cliente.rutclie and requerimiento.codestado=estado.codestado and fechareq>=" + "'" + formatoFecha.format(calendar1.getSelectedDate()) + "'" +
    "AND fechareq<=" + "'" + formatoFecha.format(calendar2.getSelectedDate()) + "'";
    try {
    getSessionBean1().getRequerimientoRowSet().setCommand(command + " AND requerimiento.codestado =" + "'" + (String) estados.getSelected() + "'");
    getSessionBean1().getRequerimientoRowSet().getCommand();
    getSessionBean1().getRequerimientoDataProvider().refresh();
    } catch (Exception e) {
    error("No puede levantar comando");
    log("Cannot switch to person " +
    estados.getSelected().toString(), e);
    The Table component have a column of checkbox type for select a particular(s) row(s). With a Button it to choose all the rows that has been to set checkbox, in the session bean to save this selected rows and link to another page that show the details about seletec rows.
    The Problem
    Every time that i press the button, after to the select the rows, for another page showme detail, this page is empty because it execute the init method before the button_action, to re initialize and erase the user selection and lost it
    I try with another component that trigger event, por exmaple dropdownlist, and it the same, even to press the pagin in teh table it execute init meth, re-initialize and erase all.
    Result prove
    1.- I execute the application for first time:
              Execute      Init()
    2.- I Chage choos en the DropDownList
              Execute      Init() and
              after           estado_processValueChange()
    3.- I change choos again in the DropDownList
              Execute      Init() and
              after           estado_processValueChange()
    4.- I press pagin button in table
              Execute      Init()
    5.- I press button detail, for detail
         Execute      Init() ----> I reinitialize and lost the user select.
         after          Butoon_action
    How ia can to preven that every time it execute init(),
    Why alway it execute init method?, the init methd() is for initialize application and not RE INTIALIZED
    Why is the relation INIT(); PREPROCESS(), PRERENDER(), PROCESSVALUECHANGE, BUTTON_ACTION. What it execute first, what secodn?
    I need execute init method only one , at first time
    I hope i undertandme, i not native english.
    Thank for advance

    Anupama,
    Do you mean init or wdDoInit? You cannot call the later as well as you cannot call any WD-framework methods that start with "wd" prefix.
    By the way, wdDoInit in component controller (do not confuse with custom controller or interface controller) is called before any other method in any controller. So I hardly believe that it is not called when your view become available.
    Valery Silaev
    SaM Solutions
    http://www.sam-solutions.net

  • LDAP Context Initialization Problem in a Servlet's Init method

    Hi
    I have a servlet where I am using the InitialDirContext to Initialize context to a LDAP Server. I have created the context as a static variable. I am initializing the context in the init method and am using the same reference in the service method of the servlet. But if the context fails (due to naming exception and time out) in the init method all my requests in the service method will fail. Is there any way to validate the reference before using the same in the service method.
    Also what is the best approach to initialize the context in a servlet. Whether to initialize in the service method or the init method.
    I would appreciate if anyone can answer the above 2 queries.
    Thanks in advace,
    Ashish

    If you want to use threadsafe objects in doPost/doGet there are two common ways to do this.
    First, create the object in doPost/doGet. This may get expensive depending on the object, but it is 'easy' code and works.
    The second option is to create a pool of objects in the servlet's init() method and to just have doPost/doGet get an object from the pool, use it and return it when done. This take a little more work to code, but the overhead of creating objects is almost eliminated. Look at jakarta/apache commons pool for a quick way to do this.
    If you create on object in init() and use it in doPost/doGet, any time you get two request for the same servlet at the same time you will have synchronization issues that will usually cause problems. There is one instance of each Servlet, so all request for that servlet go through the single instance. Anything in doPost/doGet must be threadsafe.

Maybe you are looking for

  • Crystal 10 server to bo xi 3.1 not all instances

    I have used the import wizard to pull the reports across into BO XI 3.1 on server 2003. I get the reports and folders but not all the existing instances of the reports. There are 480 + reports and alot of instances all of which are needed. Has any on

  • WL6.1 Can't find my html file in .war

    I deployed a web application with in single html file "in.html". Here is the web.xml: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet> <servlet-name

  • SAP Material Document Sequence is Decreasing

    Dear all, My Name is Angga, and i have problem with the sequence of GR Doc and Invoice DOC. When i execute MIGO_GR then i see on tab Purchase Order History , My SAP GR Document sequence is decreasing : First i do MIGO_GR  with movement type 101 , and

  • Difference - ORDERS05 sent from SAP to Supplier and SAP to SNC to supplier

    Hi Friends, Want to know the Difference between two scenario - detail level analysis, 1. ORDERS05 IDoc (Purchase Order) sent directly from SAP to Supplier. 2. ORDERS05 IDoc (Purchase Order) sent from SAP to SNC and then to Supplier. Is there any diff

  • Every site I visit via Firefox is distorted.Including your homesite. I had to use IE to send this message.

    Earlier today,Monday, I started experiencing problems with FireFox, which I use primarily. What happened was that every site I visited,starting about 6:00pm CST, was distorted visually and structurally. Including your homepage and other sections of y