1 application 2 ejb 2 database connections

Hello all.
I have one application with 3 modules.
1 web module with jsps, working with ADF and jsf.
2 ejb modules, each one I need to connect to a different database.
The problem is that the 2 ejbs are connecting to de first module's database, so the second ejb is not able to find the tables mapped to the entities.
How can I configure this 2 ejbs to connect to one databes each?
Thanks in advance.
Marko.

Hi,
what if the JNDI lookup is done within the session bean ? As I see it, the only way out of this is to handle the different database connects and transactions manually. EJB does not provide you and option for this
Frank

Similar Messages

  • (IMP)Application module and database connection

    Hi,
    How application module pooling and database connection pooling is working ?
    Currently i m facing a problem like if i am creating 10 browser session then it doesn't mean that i'll have only 10 db sessions. While closing the browser session of application module time out respective db session is not removed.
    In this case, invalid db session are created in bulk which is crashing database sometime. We have writter script to kill those session periodically but in this case if application module is accessing such dbconnection then we are getting session killed error or not logged in error.
    To over come we need to bounce the server (middle tier).
    Is there any proper way to solve this or am i doing something wrong ?
    Please let me know if you need any more details.
    Thanks in advance
    Devang

    Thanks for your prompt reply Ricky.
    I just found out that in some of the JSP pages in application
    <jbo:ReleasePageResources/> is not written. Should this problem arise because of this?
    could you please tell me how can I release page resources in UIX pages ?
    Datasources.xml file content
    <data-source class="com.evermind.sql.DriverManagerDataSource"
    name="AITDS"
    location="jdbc/AITCoreDS"
    pooled-location="jdbc/pooled/AITPDS"
    xa-location="jdbc/xa/AITXADS"
    ejb-location="jdbc/AITDS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username=<USERNAME>
    password=<PASSWORD>
    url=<URL>
    inactivity-timeout="30"
    />
    bc4j.xcfg file
    <BC4JConfig>
    <AppModuleConfigBag>
    <AppModuleConfig name="GsaServerModuleLocal">
    <DeployPlatform>LOCAL</DeployPlatform>
    <JDBCDataSource>jdbc/AITCoreDS</JDBCDataSource>
    <jbo.project>gsa</jbo.project>
    <AppModuleJndiName>oracle.appsit.gsa.server.GsaServerModule</AppModuleJndiName>
    <java.naming.factory.initial>oracle.jbo.common.JboInitialContextFactory</java.naming.factory.initial>
    <ApplicationName>oracle.appsit.gsa.server.GsaServerModule</ApplicationName>
    </AppModuleConfig>
    </AppModuleConfigBag>
    </BC4JConfig>
    Let me know if you need any more detail.
    Thanks in advance
    Devang

  • How to host one application using different database connection on OAS?

    Hi,
    Jdeveloper - 10.1.3.4
    Application - ADF/BC
    Oracle Application Server - 10.1.3
    Above our the specifications for our application,
    We have two database schemas different for development and production therfore we have different databse connections for the two,
    we have one application which is in production and enhacements on the same application are done by the development team.
    Since we have two different schemas for developement and prduction we use different database connections for the application on development and production.
    The problem is our Model and View Controller project are same, only the database connection file changes that's why we are able to host only on application at a time on our OAS. This is probably because the URL generated by OAS for developemnt and prodyction application is same.
    Is there a way we can host two instances of the same application with two different database connections on the a single OAS.
    Thanks & Regards,
    Raksha

    Use different deployment profiles each with a different context root for your application?
    See: http://one-size-doesnt-fit-all.blogspot.com/2009/02/configuring-separate-dev-test-prod-urls.html

  • How to immediately released database connection in jclient form app ?

    Hello Steve,
    We want our jclient form application could immediately released database connection when its be closed,
    We had follow your Weblog technical paper about http://radio.weblogs.com/0118231/stories/2005/02/10/amPoolingConsiderationsForAdfJclient.html , it mentioned following step to release Jclient database connection, but in our jclient project when we close separate jclient form application the database connection seems not immediately released(we monitor through TOAD trace session), the database connection will continue stay alive until we close the all project application.
    •Call panelBinding.releaseDataControl() method before our form application closed,
    •Set the AM pool's minimum available size to 0 (zero), and set the idle time and pool monitor interval shorter if the up-to 20-minute wait (in case it takes two wakeup cycles for the AM instance to be idle more than its idle time) is not something you like, or
    •Disable AM pooling altogether (jbo.ampooling.doampooling=false)In our project application the database connection behavior like following:
    1.when we open every Jclient form application , it will establish a new database connection for every form application
    2.But when we closed the jclient form application , the database connection still exist
    3.But when we open the same jclient form application again, the database connection will not create new database connection , it seems using the same connection when this application first create.
    4.when we close the all project application , it will release all database connection.
    Could you help us, thanks.
    Sincerely from, TIng-Rung

    Hello Steve,
    We have been study the paper that you mentioned, sorry that we still got some confused about AM pool and jdbc pool, My project bc4j,xcfg like following , could you help us what we missing ?
    ==============================
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BC4JConfig>
    <AppModuleConfigBag>
    <AppModuleConfig name="xxxAppModuleLocal">
    <jbo.ampool.maxinactiveage>5000</jbo.ampool.maxinactiveage>
    <user>xxx</user>
    <jbo.project>His</jbo.project>
    <AppModuleJndiName>com.xxx.business.module.xxxAppModule</AppModuleJndiName>
    <DeployPlatform>LOCAL</DeployPlatform>
    <jbo.poolmonitorsleepinterval>10000</jbo.poolmonitorsleepinterval>
    <jbo.poolmaxinactiveage>5000</jbo.poolmaxinactiveage>
    <JDBCName>NEWNTUHRIS</JDBCName>
    <RELEASE_MODE>Stateless</RELEASE_MODE>
    <jbo.recyclethreshold>0</jbo.recyclethreshold>
    <ApplicationName>com.xxx.business.module.xxxAppModule</ApplicationName>
    <java.naming.factory.initial>oracle.jbo.common.JboInitialContextFactory</java.naming.factory.initial>
    <password>xxxx</password>
    <jbo.poolminavailablesize>0</jbo.poolminavailablesize>
    <DBconnection>jdbc:oracle:thin:@10.0.0.8:1521:xxx</DBconnection>
    <jbo.ampool.minavailablesize>0</jbo.ampool.minavailablesize>
    <jbo.ampool.monitorsleepinterval>10000</jbo.ampool.monitorsleepinterval>
    </AppModuleConfig>
    </AppModuleConfigBag>
    <ConnectionDefinition name="xxx">
    <ENTRY name="JDBC_PORT" value="1521"/>
    <ENTRY name="ConnectionType" value="JDBC"/>
    <ENTRY name="HOSTNAME" value="xx.xx.xx.xx"/>
    <ENTRY name="DeployPassword" value="true"/>
    <ENTRY name="user" value="xxx"/>
    <ENTRY name="ConnectionName" value="xxx"/>
    <ENTRY name="SID" value="xxx"/>
    <ENTRY name="password">
    <![CDATA[{904}0505E5FED797881374FDE8BD1606B6CF01]]>
    </ENTRY>
    <ENTRY name="JdbcDriver" value="oracle.jdbc.driver.OracleDriver"/>
    <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
    <ENTRY name="DeployPassword" value="true"/>
    </ConnectionDefinition>
    </BC4JConfig>
    and our jclient code to release connection like following:
    tabbedPane.addCloseListener(new CloseListener(){
    public void closeOperation(MouseEvent e){       
    cleanTabComponentListener(tabbedPane.getComponentAt(tabbedPane.getOverTabIndex()));
    tabbedPane.remove(tabbedPane.getOverTabIndex());
    UPanelBinding panelbd = tabbedPane.getPanelBinding();
    panelbd.releaseDataControl();
    panelbd.getBindingContext().release();
    }

  • How create a database connection only one for lot of AM

    Hi ,
    In My Application am having lot of Application module its containing database connection per AM its connecting to same database only if i want to make it unique connction how i can proceed. which is correct way any one can help me
    Thanks
    Prabeethsoy

    The source trace show how the JUApplication was created and saved to BindingContext.
    1. private static void invokeBeginRequest(
    BindingContext bindingCtx, HashMap requestCtx)
    Object obj;
    Iterator iter = bindingCtx.valuesIterator();
    while (iter.hasNext())
    obj = iter.next();
    if (obj instanceof DCDataControlManagement)
    2.First type is DCDataControlReference ====> ((DCDataControlManagement)obj).beginRequest(requestCtx);
    3. ADFBindingFilter chain.doFilter(request, response);
    4. DCDataControl control = actionBinding.getDataControl();
    5. JUCtrlActionBinding
    public final DCDataControl getDataControl()
    if (mDataControl == null)
    if (getDef() instanceof JUCtrlActionDef )
    String name = ((JUCtrlActionDef)getDef()).getDataControlName();
    if (name != null && getBindingContainer() != null)
    BindingContext ctx = getBindingContainer().getBindingContext();
    if (ctx != null)
    6. ========>mDataControl = ctx.findDataControl(name);
    if (mDataControl == null)
    if (getIteratorBinding() != null)
    mDataControl = getIteratorBinding().getDataControl();
    else if (getBindingContainer() != null)
    mDataControl = getBindingContainer().getDataControl();
    return mDataControl;
    7. BindingContext
    public DCDataControl findDataControl(String name)
    return (DCDataControl)get(name);
    public Object get(Object key)
    Object rtn = mDCMap.get(key);
    if (rtn == null)
    rtn = mBCMap.get(key);
    else
    if (rtn instanceof DCDataControlReference)
    // remove the reference in order to prevent re-entrancy.
    remove(key);
    *8. Create JUApplicaion======> rtn = ((DCDataControlReference)rtn).getDataControl(this);*
    *9. save JUApplication with AM ======>  put(key, rtn);*
    return rtn;
    10. DCDataControlReference
    public DCDataControl getDataControl(BindingContext ctx)
    String name = getName();
    DataControlFactory factory;
    try
    Class factoryClass = JBOClass.forName(mDef.getFactoryClass());
    factory = (DataControlFactory)factoryClass.newInstance();
    catch(Exception e)
    throw new JboException(e);
    // JRS this is a backwards compatibility step. The generic
    // DataControlFactoryImpl used to perform this mapping such
    // that the bean class will be faulted back the definition class
    // if null. I am performing this mapping at RT only in order
    // to maintain the DT integrity (i.e. I don't want the DT to start
    // faulting the bean class as the definition class when writing the
    // DC def).
    if (mDef.getBeanClass() == null)
    mDef.setBeanClass(mDef.getDefinitionClass());
    *11. create JUApplicaion =====> DCDataControl dc = (DCDataControl)factory.createSession(*
    ctx, mDef.getName(), mUserParams, mDef);
    SessionContext sessionCtx = ctx.getSessionContext();
    if (sessionCtx != null)
    dc.setSessionContext(sessionCtx);
    // fire the deferred beginRequest notication on the new datacontrol
    if (mRequestContext != null)
    12.======>dc.beginRequest(mRequestContext);
    mRequestContext = null;
    return dc;
    }

  • Database Connection Problem on Linux

    I have recently installed Oracle Database on a linux server. The app server that accesses db is JBoss.
    Always, I end up seeing an error "java.sql.SQLException: No more data to read from socket".
    To verify if the problem is with JBoss, I have written a simple stand alone java class to access the db, and ended up with the same error.
    Can anybody help me out ??
    -Aswin.

    This error most likely occurs in applications that
    use a database connections pool. When the application
    checked out a connection that has been timed out or
    has been staled, and used it to connect to the
    database, this error occurs.
    Could also be a result of connection timeout.Yeah! may be it is the result of connection timeout, but I am sure it cannot be realted to connection pool, because to verify if there were any configuration problems on JBoss, we have written a simple java class that directly accesses the database.
    If it is because of connection timeout, how do i fix it ??

  • Different database connections

    Hi,
    I have a problem in an application with two different database connections.
    I divided it into three projects one is the model project for a mysql database, one I the model project for an mssql database and one is a jsf project.
    But I only can use the first database project I add to the jsf project.
    If I use the other SessionFacade he uses the wrong database driver.
    My question is, is it possible to access two different databases out of one project?
    Thanks,
    John

    Does anyone know how to do this?
    I need the same, but i couldn't find any documentation about it.
    Looking forward to hearing good news.....

  • Database connectivity in struts ( EJB) with Oracle 9

    hi,
    We are developing a Banking application using Struts & EJB, & I need to use Oracle 9 as a database. Could anyone please let me know, the professional way of connecting this application to the oracle database using Struts and EJB. A good example will help me a lot, so please give me example code also.
    Thanks a lot in advance.
    Raghav

    Hello,
    For keeping the standby database on same HOST....it does seems to be great...i must be on separate box....may be on different network...i believe you would be using it for some failiover purpose...Isn't it.
    For Unix it is quite easy..you may implement like this...The Issue which you are referring may be because of wrong Oracle Home or SID....(i'm not very much sure..) You may try following steps:
    1. Create a separate Unix A/c and set ORACLE_HOME and ORACLE_SID relevant to your StandBy Database. I believe the Home would be same whereas SID would be your standby databse.
    2. Take a Cold Backup of All your database files from Production.
    3. Copy these files on separate mount points for standby Db. Put them all to relevant directory and be sure to set the Group of all these files as "SYSDBA" This is Must.
    4. And then modify your INIT.ORA file i.e. InitSID.ora file accordingly and put the file in ORACLE_HOME
    5. Login to Newly created Unix A/c. Check whether ORACLE_SID is set ot not to your standby database instance.
    6. Login to sys as sysdba and start up the database. It will by default would try to check & do for your relevant Oracle SID for this profile...
    HTH
    Regards,
    Kamesh Rastogi

  • EJB Timer stops when database connection lost

    G'day.
    We use EJB Timers quite successfully in stateless session beans under Sun Java System Application Server 8.1 on Windows Server 2003.
    We start and stop the timers for specific session beans using public intefaces on their respective beans. This works fine.
    The problem we have is when the JDBC connection used by the EJBTimer service is dropped, such as when the remote database / machine falls over or (probably) when the network is lost. All the timers stop working at this point.
    The timers do not restart when the database connection is restored either, despite the entries still being in the ejb__timers__tbl table.
    If we stop and start the application server instance then they do restart.
    We've looked at the setup of the timers but this seems to be pretty straightforward with no options that seem to influence this.
    We've tried altering the JDBC connection validation settings but this doesn't seem to have made any difference.
    Anyone have any ideas?
    Robski!

    There are no special options to handle this case in the current timer service implementation. Please file an issue describing the scenario here :
    https://glassfish.dev.java.net/servlets/ProjectIssues
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Closing the database connection after report in a server application

    I searched these forums and the internet for a definitive answer on asking the Crystal SDK for java to close the jdbc connection after it has generated a report.  We have been using the Crystal Report SDK to generate reports within our JEE application, built upon the Spring framework, for the past two years.  It works well, especially if you prepare views in the database for your reports.
    From what I can tell once you have used ReportClientDocument to create your report you all the close() method to release resources associated with report generation, but this does not close the jdbc database connection.
    Further research states that if you are using the CrystalReportViewer you can call the dispose method to close the database connection.  We are not using JSP nor this class, so that does us little good.
    Finally I found a post that one could call ((AdvancedReportDocument)reportClientDocument.getReportSource()).dispose().  This doesn't drop the connection either.
    Each report actually opens 3 connections according to SQL Server.  Each report will reuse the connections it has open, so for 50 reports, theoretically, we could have up to 150 connections.  We explained to our client those connections  remain inactive, however this is unacceptable to our client as they would like to minimize the number of connections left open to their database.
    If anyone can post any further information on this issue, it is much appreciated.

    Yes, another team member found the issue.  Quite embarrassing really I didn't see it.  I was looking for the answer within Crystal's libraries.  It had nothing to do with Crystal.
    The developer who wrote the helper code for using Crystal first opened a connection to the datasource for the live production database and read that connection information for the report. Next he set that connection information in the report template's PropertyBag, then ran the report. The developer however forgot to close the connection he used to look up the connection info, leaving a memory leak and using up all the connections.
    I'm glad you inquired.  I forgot to post the resolution here.

  • A database connection in a swing application

    hi ,
    i am developping an intranet stabdalone swing application based on a jdbc connection to oracle8i data server.
    in fact i am interested in keeping my user authentification encrypted while this connection is done! is there any method to do it ! i read about SSL but is it supported by web application ! i have a client-server simple connection !
    please help !

    Hello Levi,
    You can to do this form:
    String appModule = "yourAppmodule";
    String config = "yourAppmodule"+ "Local";
    ApplicationModule am = Configuration.createRootApplicationModule(appModule, config);
    ConnectionMetada cm = am.getTransaction().getConnectionMetadata();
    DriverManager.registerDriver(new OracleDriver());
    Connection connection = DriverManager.getConnection(cm.getJdbcURL());You can to see this threads:
    Retrieve Database Connection
    Getting the Connection object out of ApplicationModule
    Regards,
    Renan

  • Database connection in a WebDynpro Application - urgent

    Hi
    I am facing a problem with database connection. I am trying to develop a normal webdynpro application.
    I want to retrieve data from a table and show it.
    But my query is not giving the expected output. It is not even raising errors.
    Please give me an answer
    Thanks & regards
    Aparnna

    Connection con=null;
      Statement st=null;
      ResultSet rs=null;
    public void wdDoInit()
        //@@begin wdDoInit()
    try
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:erdsn","root","enteg123");
      st=con.createStatement();
        catch(Exception e){
        //@@end
    public void onActiononClickLogin(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActiononClickLogin(ServerEvent)
         String desig=null;
    try{
    rs = st.executeQuery("select *  from Login where Empid like uid and Pword like pw");
        if(rs.next()){
               desig=rs.getString("Designation");
         wdComponentAPI.getComponent().getMessageManager().reportSuccess(desig);
        if(desig.equalsIgnoreCase("Employee")){
              wdThis.wdFirePlugEmpOutPlug();
         else
         wdComponentAPI.getComponent().getMessageManager().reportWarning("Invalid input!");
          }catch(Exception e){

  • How database connection pooling works in a application

    Hi Guys,
    I am new to Java and looking into best way of doing J2ee database conectivity. I am using Eclipse galileo3.5 J2EE with Mysql database and Tomcate 6.0.
    I am developing an email application where I need to implement MVC model for my webapplication, using jsp for presentation, servlet for control and java beans for model.
    I came across two tutorial for database connection pooling as given below.
    Eclipse Corner Article: Creating Database Web Applications with Eclipse - In this tutorial connection pooling is configure in Tomcate 6.0
    It says Copy and paste the following into your context.xml file (you may have to click on the Source tab at the bottom of the editor to be able to paste). This defines a DataSource with the name "jdbc/SampleDB". Our application will retrieve database connections from the pool using this name.
    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
    <Resource name="jdbc/SampleDB" auth="Container"
    type="javax.sql.DataSource"
    username="app" password="app"
    driverClassName="org.apache.derby.jdbc.ClientDrive r"
    url="jdbc:derby://localhost:1527/sample"
    maxActive="8" />
    </Context>
    Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
    It uses java bean for connection pooling and then use straight way in JSP and no Servlet used.
    conpool.jsp
    <%@page import="java.sql.Connection"%>
    <jsp:useBean id="pl" class="com.CoreJava.ConnectionPooling"/>
    <% Connection con = pl.getConnection(); %>
    //do something using con
    connectionPooling.java
    import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolD ataSource;
    public class ConnectionPooling
    static Connection con=null;
    public static Connection getConnection()
    try
    MysqlConnectionPoolDataSource po=new MysqlConnectionPoolDataSource();
    po.setServerName("localhost");
    po.setPortNumber(3306);
    po.setDatabaseName("mydatabase"); //changeur database name
    po.setUser("root");//ur username
    po.setPassword("");//ur password
    con = po.getConnection();
    catch(Exception e)
    System.out.println("Exception Connection :"+e);
    return con;
    Please some one explain which is the best way of doing connection pooling to the database by using MVC pattern
    Please if some one advise me how to use MVC architecture for simple email application and database connectivty.
    Thanks

    >
    >
    Where as in second tutorial - http://www.roseindia.net/answers/viewanswers/2838.html
    Never EVER use roseindia. It is terrible shit.
    [http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html]
    The correct answer is what you found in the eclipse article. And you can read the Tomcat docs for more.
    As per usual the code you have posted from Roseindia is a big pile of rubbish that was written by a complete idiot. I mean the person who wrote it apparently doesn't know much Java at all. Let alone JDBC. Or Connection pools. Or J2EE. It's not the worst I've seen from them but it's pretty bad.

  • How to reuse a 9iAS Portal database connection in a BC4J application?

    Hi,
    I have a 9iAS Portal 9.0.2 application, and I want to call a BC4J/UIX application from the Portal application. Ideally I would like to reuse the database connection already established within Portal, because it has authenticated the user with the SSO, and has all of the Portal and VPD settings already in the environment. I don't want to ask the users to re-log in.
    I have looked at the Portal Java PDK and cannot find anything appropriate - has anyone accomplished this, or is there another way of doing this?
    Thanks,
    Steve

    BC4J supports JAAS authentication.. look at the jazn stuff. When u deploy your application on 9ias one of the pages in the wizard asks what kind of authenticatoin you would like to use, you might be able to set something up there...
    Also you an secure the URL in the httpd.conf file so that if a user directly attemps to access that application they are presented with the SSO log in screen.

  • Issue in creating Database Connection to HFM Application through workspace

    Hi,
    This is a fresh installation. We are trying to create a new database connection in workspace for HFM Application.
    When i click on the Application selection icon, it gives me the below error message,
    *"Error connecting to database connection nasbyphyp03: Error: Error getting CSS support information for driver* HsvAdmDriver*".*
    I tried re-installing the HsvAdmDriver, but still the problem persists. (nasbyphyp03 is the server name)
    But, i am able to access HFM Application from workspace and smartview.
    Please advice.
    Thanks,
    Siva

    Can anyone suggest me the solution ???
    We are struck with this and unable to process any Reports
    Thanks,
    Siva

Maybe you are looking for