Configuring JMS Connection Pooling

Hi there,
          as far as I understand, if I use a resource-ref when declaring a JMS connection factory, pooling connections, sessions, and producers is automatically enabled. Is there any way for fine-tuning the way this pool works, e.g. configuring minimum/maximum pool sizes?
          We are using WLS 9.2 MP 1, using WebSphere MQ as remote JMS provider (with com.ibm.mq.jms.MQXAQueueConnectionFactory as factory implementation).
          Best regards
          Martin

Hi Tom,
          thanks for your answer. Assuming that the BEA connection pooling works fine, there is still the IBM ConnectionFactory implementation that provides its own connection pooling.
          Do you know a way to configure this part? I only see the Java API of this class when registering it in the JNDI tree, and it provides no access to connection pooling settings.
          Best regards
          Martin

Similar Messages

  • Configuring JCo3 Connection Pool with single sign on on non SAP Java server

    Hi Everyone,
    i have configured a connection pool on JBoss as per JCo3 Documentation and is working great.
    Now I need help to configure this connection pool with single sign on so that RFc on SAP ECC systems are executed using end users credential rather than using single user name password used to configure JCo connection pool.
    On SAP Java stack I am sure its possible within Java WebDynpro    and i assume using JCA resource adapter. But what if we don't want to use SAP Java App server.
    Any help will be appreciated.
    Thanks,
    Divyakumar Jain

    Eason, 你好!
    I have exactly the same problem.  Did you find a solution to this problem?  If so, please let me know!

  • How to configure informix connection pool in sun-one appserver 7

    Hello,
    Anybody knows , How to configure informix connection pool properties in sun-one appserver 7?
    Thanks in advance.

    Actually,it couldn't get some advice in here.But now,I known how to configure it,I expended 2 days to search and test it.Follow :
    jdbc class:com.informix.jdbcx.IfxDataSource
    serverName=(INFORMIXSERVER)
    portNumber=1526(default)
    IfxIFXHOST=(host ip)
    databaseName=(your dbname)
    user=(your username)
    password=(your pwd)
    attention:configure right transaction and userthreads in your informix sever
    Hope helpful to someone!

  • Getting error while configuring DbAdapter connection pool

    I have SOA Suite 11g (11.1.1.5.0) installed.
    I have created a Data Source (soademoDatabase) in WLS Admin console, as per instructions in Oracle Tutorial.
    Then I created a connection pool for DbAdapter.
    However when I tried to update the DbAdapter to 'Redeploy this application', I got following error:
    weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.wl.ConnectionInstanceBeanImpl@a0965ff7(//
    [javax.resource.cci.ConnectionFactory]/ConnectionInstances[eis/DB/soademoDatabase])"
    After this, when I restarted Admin and Managed servers, DbAdapter is failing to start. Following error is shown in the log:
    [4] The ra.xml <connectionfactory-impl-class> class 'oracle.tip.adapter.apps.AppsConnectionFactory' could not be loaded from the resource adapter archive/application because of the following error: java.lang.NoClassDefFoundError: oracle/tip/adapter/db/DBConnectionFactory
    at weblogic.connector.deploy.ConnectorModule.prepare(ConnectorModule.java:230)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
    Any help/suggestion in this regard is really appreciated.
    Thanks in advance

    Thanks Anuj.
    I checked DBAdapter deployment plan..not sure which entries to remove.."eis/DB/soademoDatabase" is referenced 3-4 times in it.
    Please find below the plan file. If you can advise which entries to remove, that will be really helpful.
    <?xml version='1.0' encoding='UTF-8'?>
    <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd" global-variables="false">
    <application-name>connectors</application-name>
    <variable-definition>
    <variable>
    <name>ConnectionInstance_1.eis/DB/soademoDatabase_JNDIName_13299030406160</name>
    <value>eis/DB/soademoDatabase</value>
    </variable>
    <variable>
    <name>ConfigProperty_xADataSourceName_Value_13299033172170</name>
    <value>jdbc/soademoDatabase</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>DbAdapter.rar</module-name>
    <module-type>rar</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-connector</root-element>
    <uri>META-INF/weblogic-ra.xml</uri>
    <variable-assignment>
    <name>ConnectionInstance_1.eis/DB/soademoDatabase_JNDIName_13299030406160</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="1.eis/DB/soademoDatabase"]/jndi-name</xpath>
    <origin>planbased</origin>
    </variable-assignment>
    <variable-assignment>
    <name>ConfigProperty_xADataSourceName_Value_13299033172170</name>
    <xpath>/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="javax.resource.cci.ConnectionFactory"]/connection-instance/[jndi-name="eis/DB/soademoDatabase"]/connection-properties/properties/property/[name="xADataSourceName"]/value</xpath>
    </variable-assignment>
    <hash-code>1329903975155</hash-code>
    </module-descriptor>
    <module-descriptor external="false">
    <root-element>connector</root-element>
    <uri>META-INF/ra.xml</uri>
    </module-descriptor>
    <module-descriptor external="true">
    <root-element>wldf-resource</root-element>
    <uri>META-INF/weblogic-diagnostics.xml</uri>
    </module-descriptor>
    </module-override>
    <config-root>C:\Middleware\SOASuite11gR1PS4\Oracle_SOA1\soa\connectors\plan</config-root>
    </deployment-plan>
    Thanks

  • Weblogic Server 9.2 Crashes when using the JMS Wrapped Connection Pooling.

    ===== BEGIN DUMP =============================================================
    JRockit dump produced after 0 days, 01:05:05 on Thu Sep 16 18:27:36 2010
    Additional information is available in:
    E:\obopay\servers\EWP_9.2_Domain\jrockit.4516.dump
    E:\obopay\servers\EWP_9.2_Domain\jrockit.4516.mdmp
    If you see this dump, please open a support case with BEA and
    supply as much information as you can on your system setup and
    the program you were running. You can also search for solutions
    to your problem at http://forums.bea.com in
    the forum jrockit.developer.interest.general.
    Error Message: Illegal memory access. [54]
    Exception Rec: EXCEPTION_ACCESS_VIOLATION (c0000005) at 0x0095065F - memory at 0x00740060 could not be read.
    Minidump : Wrote mdmp. Size is 567MB
    SafeDllMode : -1
    Version : BEA JRockit(R) R27.2.0-131-78843-1.5.0_10-20070320-1457-windows-ia32
    GC Mode : Garbage collection optimized for throughput
    GC Strategy : Generational Parallel Mark & Sweep
    : Current OC phase is: not running. YC is not running.
    : GC strategy for GC 36 was genparpar
    : GC strategy for GC 37 was genparpar
    : GC strategy for GC 38 was genparpar
    : GC strategy for GC 39 was genparpar
    : GC strategy for GC 40 was genparpar
    : mmHeap->data = 0x00C00000, mmHeap->top = 0x10C00000
    : The nurserylist starts at 0x01BE75E8 and ends at 0x0CB52440
    : mmStartCompaction = 0x00C00000, mmEndCompaction = 0x01C00000
    : References are 32-bit.
    CPU : Intel Pentium III/Pentium III Xeon SSE SSE2 SSE3 SSSE3 EM64T
    Number CPUs : 2
    Tot Phys Mem : 3451408384 (3291 MB)
    OS version : Microsoft Windows XP version 5.1 Service Pack 3 (Build 2600) (32-bit)
    Thread System: Windows Threads
    State : JVM is running
    Command Line : -Djava.library.path=E:\bea\jrockit90_150_10\bin;E:\bea\jrockit90_150_10\jre\bin;E:\bea\weblogic92\server\native\win\32;E:\bea\weblogic92\server\bin;E:\bea\weblogic92\server\native\win\32\oci920_8 -Dweblogic.management.discover=false -Dplatform.home=E:\bea\weblogic92 -Dwls.home=E:\bea\weblogic92\server -Dwli.home=E:\bea\weblogic92\integration -Dweblogic.Name=myserver -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.ext.dirs=E:\bea\patch_weblogic901\profiles\default\sys_manifest_classpath\weblogic_patch.jar Djava.security.auth.login.config=E://workspace/Bhopal/LoginModulesConfig/ewp_loginmodules.config -Djava.naming.factory.initial.ewp.remote=weblogic.jndi.WLInitialContextFactory -Dcom.ewp.proxy.is_remote=false -Djava.naming.provider.url.ewp.remote=t3://localhost:7001 -Dweblogic.webservice.verbose=true -Dweblogic.log.Log4jLoggingEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=true Xdebug -Xnoagent -Dcom.sun.management.jmxremote -Xms256m -Xmx1024m -Dsun.java.launcher=SUN_STANDARD weblogic.Server
    java.home : E:\bea\jrockit90_150_10\jre
    JAVA_HOME : <not set>
    JAVAOPTIONS: <not set>
    PATH : E:\bea\jrockit90_150_10\jre\bin;E:\oracle\product\10.2.0\client_1\bin;C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\TortoiseSVN\bin
    C Heap : Good; no memory allocations have failed
    StackOverFlow: 0 StackOverFlowErrors have occured
    OutOfMemory : 0 OutOfMemoryErrors have occured
    Registers (from ThreadContext: 0x4B29E378 / OS context: 0x4B29E764):
    eax = 00740060 ecx = 00740060 edx = 45a45ba0 ebx = 08c953b8
    esp = 4b29ea30 ebp = 00000000 esi = 4b29ea60 edi = 4b29efb4
    es = 00000023 cs = 0000001b ss = 00000023 ds = 00000023
    fs = 0000003b gs = 00000000
    eip = 0095065f eflags = 00010206
    Stack:
    (* marks the word pointed to by the stack pointer)
    4b29ea30: 00981099* 08c953b8 008ab310 4b29eb34 09e5c308 009810ea
    4b29ea48: 4b29ead8 0098ecd2 4b29ea60 4b29ea90 48bd8960 48bd8960
    4b29ea60: 00000001 45aa0278 45a45ba0 00000007 00000000 08c953b8
    4b29ea78: 08512180 4b29ef60 00000000 09d56368 09d563b0 4b29efb4
    Code:
    (* marks the word pointed to by the instruction pointer)
    0095062c: 5e5f0cc4 c35bc033 01b85e5f 5b000000 ccccccc3 0424448b
    00950644: a5f06ca3 ccccc300 cccccccc 04244c8b 01a8018b e0830774
    0095065c: 8bc88bfe* 40788301 44408b03 af0f0a75 c0830841 f8e08317
    00950674: ccccccc3 cccccccc cccccccc 0424448b 00f4888b 158b0000
    Loaded modules:
    (* denotes the module causing the exception)
    00400000-0040ffff E:\bea\jrockit90_150_10\bin\javaw.exe
    7c900000-7c9b1fff C:\WINDOWS\system32\ntdll.dll
    7c800000-7c8f5fff C:\WINDOWS\system32\kernel32.dll
    7e410000-7e4a0fff C:\WINDOWS\system32\USER32.dll
    77f10000-77f58fff C:\WINDOWS\system32\GDI32.dll
    77dd0000-77e6afff C:\WINDOWS\system32\ADVAPI32.dll
    77e70000-77f02fff C:\WINDOWS\system32\RPCRT4.dll
    77fe0000-77ff0fff C:\WINDOWS\system32\Secur32.dll
    77c10000-77c67fff C:\WINDOWS\system32\MSVCRT.dll
    76390000-763acfff C:\WINDOWS\system32\IMM32.DLL
    00820000-00a9cfff *E:\bea\jrockit90_150_10\jre\bin\jrockit\jvm.dll
    76b40000-76b6cfff C:\WINDOWS\system32\WINMM.dll
    71ab0000-71ac6fff C:\WINDOWS\system32\WS2_32.dll
    71aa0000-71aa7fff C:\WINDOWS\system32\WS2HELP.dll
    7c340000-7c395fff E:\bea\jrockit90_150_10\bin\MSVCR71.dll
    5dac0000-5dac7fff C:\WINDOWS\system32\rdpsnd.dll
    76360000-7636ffff C:\WINDOWS\system32\WINSTA.dll
    5b860000-5b8b4fff C:\WINDOWS\system32\NETAPI32.dll
    76bf0000-76bfafff C:\WINDOWS\system32\PSAPI.DLL
    6d700000-6d70bfff E:\bea\jrockit90_150_10\jre\bin\verify.dll
    6d370000-6d38cfff E:\bea\jrockit90_150_10\jre\bin\java.dll
    6d2f0000-6d2f7fff E:\bea\jrockit90_150_10\jre\bin\hpi.dll
    6d720000-6d72efff E:\bea\jrockit90_150_10\jre\bin\zip.dll
    6d520000-6d527fff E:\bea\jrockit90_150_10\jre\bin\management.dll
    6d530000-6d542fff E:\bea\jrockit90_150_10\jre\bin\net.dll
    71a50000-71a8efff C:\WINDOWS\system32\mswsock.dll
    662b0000-66307fff C:\WINDOWS\system32\hnetcfg.dll
    71a90000-71a97fff C:\WINDOWS\System32\wshtcpip.dll
    41c00000-41c26fff C:\WINDOWS\system32\DNSAPI.dll
    41c30000-41c37fff C:\WINDOWS\System32\winrnr.dll
    41c40000-41c6bfff C:\WINDOWS\system32\WLDAP32.dll
    41c80000-41c85fff C:\WINDOWS\system32\rasadhlp.dll
    68000000-68035fff C:\WINDOWS\system32\rsaenh.dll
    769c0000-76a73fff C:\WINDOWS\system32\USERENV.dll
    438b0000-438b8fff E:\bea\jrockit90_150_10\jre\bin\nio.dll
    41ba0000-41ba9fff E:\bea\jrockit90_150_10\jre\bin\jmapi.dll
    41bb0000-41bbdfff E:\bea\weblogic92\server\native\win\32\wlfileio2.dll
    43ce0000-43cf8fff C:\WINDOWS\system32\iphlpapi.dll
    43d10000-43d27fff C:\WINDOWS\system32\MPRAPI.dll
    77cc0000-77cf1fff C:\WINDOWS\system32\ACTIVEDS.dll
    43d30000-43d54fff C:\WINDOWS\system32\adsldpc.dll
    43d60000-43d70fff C:\WINDOWS\system32\ATL.DLL
    43d80000-43ebcfff C:\WINDOWS\system32\ole32.dll
    43ec0000-43f4afff C:\WINDOWS\system32\OLEAUT32.dll
    43f50000-43f5dfff C:\WINDOWS\system32\rtutils.dll
    71bf0000-71c02fff C:\WINDOWS\system32\SAMLIB.dll
    43f60000-44052fff C:\WINDOWS\system32\SETUPAPI.dll
    44060000-44064fff E:\bea\weblogic92\server\native\win\32\wlntio.dll
    44540000-44545fff E:\bea\jrockit90_150_10\jre\bin\rmi.dll
    4d010000-4d122fff E:\bea\jrockit90_150_10\jre\bin\dbghelp.dll
    "[STANDBY] ExecuteThread: '21' f" id=87 idx=0xf0 tid=4208 lastJavaFrame=0x4B29EB4C
    Stack 0: start=0x4B260000, end=0x4B2A0000, guards=0x4B263000 (ok), forbidden=0x4B261000
    Thread Stack Trace:
    at _mmGetPossibleMovedObjectSize+15()@0x0095065F
    at _refIterInit+393()@0x00981099
    at _refIterInit+474()@0x009810EA
    at _trProcessLocksForThread+66()@0x0098ECD2
    at _javalockCouldBeLock+1047()@0x008AB417
    at _javalockConvertThinToFat+42()@0x008AC13A
    at RJNIjrockit_vm_Locks_convertThinLockedToFatLocked@8+15()@0x00986B1F
    -- Java stack --
    at jrockit/vm/Locks.convertThinLockedToFatLocked(Ljava/lang/Object;)V(Native Method)
    at jrockit/vm/Locks.createMonitorAndConvert(Ljava/lang/Object;Z)Ljrockit/vm/ObjectMonitor;(Unknown Source)
    at java/lang/Object.wait(J)V(Native Method)
    at java/lang/Object.wait(Object.java:474)
    at weblogic/common/CompletionRequest.getResult(CompletionRequest.java:109)
    ^-- Holding lock: weblogic/common/CompletionRequest@0x09E5C2A8[thin lock]
    at weblogic/store/gxa/internal/GXATransactionImpl.commitStoreIO(GXATransactionImpl.java:99)
    at weblogic/store/gxa/internal/GXATransactionImpl.doOperationCallbacks(GXATransactionImpl.java:215)
    at weblogic/store/gxa/internal/GXAResourceImpl.commit(GXAResourceImpl.java:1448)
    at weblogic/transaction/internal/XAServerResourceInfo.commit(XAServerResourceInfo.java:1333)
    at weblogic/transaction/internal/XAServerResourceInfo.commit(XAServerResourceInfo.java:577)
    at weblogic/transaction/internal/ServerSCInfo.startCommit(ServerSCInfo.java:514)
    at weblogic/transaction/internal/ServerTransactionImpl.localCommit(ServerTransactionImpl.java:1993)
    at weblogic/transaction/internal/ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2658)
    at weblogic/transaction/internal/ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2580)
    at weblogic/transaction/internal/ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:278)
    at weblogic/transaction/internal/ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
    at weblogic/deployment/jms/WrappedTransactionalSession.delistFromTransaction(WrappedTransactionalSession.java:258)
    ^-- Holding lock: weblogic/deployment/jms/PooledSession_weblogic_jms_client_JMSXASession@0x09D56368[thin lock]
    at weblogic/deployment/jms/WrappedMessageProducer.send(WrappedMessageProducer.java:149)
    at com/obopay/jms/helper/BaseQueueHelper.sendMessage(BaseQueueHelper.java:107)
    The above is the jrockit crash dump file..
    I am using the JMS Wrapper Connection Poooling provided by Weblogic. When i use Jmeter and do the load testing for around 10 users, the server gets crashed.
    I doubt something is going wrong with the Weblogic JMS Connection Pooling, please help me..

    The problem doesn't look like it has anything to do with wappers per se. The stack indicates that the JVM died when the persistent store tried to invoke a standard Java synchronize operation. JVM crashes need to be analyzed by a JVM expert, so I second the suggestion to solicit help from JVM experts and/or filing a case with customer support. In the mean-time, you can probably work-around the issue by either (A) ensuring you have a recent version of the JVM installed, or (B) temporarily switching to the Sun JVM.
    Regards,
    tom
    Edited by: TomB on Sep 17, 2010 2:33 PM

  • Configuring JTA with connection pool

              Hi all,
              I need a sanity check here. I want to have the container manage the transactions
              on my stateless session beans. I am connecting to a single database (no distributed
              transactions needed) and want to use connection pooling.
              I am using JNDI to get a reference to DataSource and then using the DataSource
              to get connections. I am confused about whether I need to use an XA driver in
              order to use the JTA.
              How do I need to configure my connection pool such that the JTA will manage my
              transactions against a single database? I am using either the Oracle 8i thin
              driver or the Sybase jconn2.jar driver.
              Thanks.
              

    Alan Beaulieu wrote:
              > Hi all,
              >
              > I need a sanity check here. I want to have the container manage the transactions
              > on my stateless session beans. I am connecting to a single database (no distributed
              > transactions needed) and want to use connection pooling.
              >
              > I am using JNDI to get a reference to DataSource and then using the DataSource
              > to get connections.
              You want to ensure that this is a TxDataSource (configured via the WebLogic console),
              and not a plain, non-JTA aware DataSource.
              > I am confused about whether I need to use an XA driver in
              > order to use the JTA.
              >
              No.
              >
              > How do I need to configure my connection pool such that the JTA will manage my
              > transactions against a single database? I am using either the Oracle 8i thin
              > driver or the Sybase jconn2.jar driver.
              >
              TxDataSource is the key.
              -- Rob
              >
              > Thanks.
              

  • How to configure connection pooling in tomcat?

    how to configure connection pooling in tomcat and how to use the connection pooling in the jsp and servlets?

    thanks for the reply, i have configured the connection pool settings in the tomcat.
    I created a class with static method, which will return the connection object.
    whenever i need the connection object, iam invoking the static method, once its usage is over iam closing thew connection..
    is it the right way of using the connection object in the web application.

  • How to change the connection pool configuration on OC4J?

    Hi everybody,
    I am developing an application with JDeveloper which is running on an OC4J standalone server, we have 2 enviroments, the develop server and the server of the client, and the data base connection configurations are differents.
    The problem is that if we try to deploy the application (we have deploy on the develop server) on the client server and try to change the connection pool configuration the application cannot connect to the data base, we need to re-build the project with the client connection pool configuration.
    We tried to change the configuration on the enterprise manager of the OC4J, on "JDBC Resources" panel, and the test the connection is ok, but when try to access to the application we get an Exception. After that we try to do that changing the parameters from the datasources.xml file on the application, but the result is the same.
    How can we change the DataBase configuration without re-build the project?
    Thanks very much
    Tony

    Meaning you have created just the empty data-sources.xml and not configured any Connection Pool and DataSource in JDev?
    In Oracle AS 10.1.3 you have two ways to do this:
    1. Use JDev and configure the data-sources.xml (Context Menu -> Properties)
    2. In Oracle AS: Select application -> Administration -> Services -> JDBC Resources -> Create Pool and Create DataSource
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Connection pooling in JMS with MQSereis

              Hi All,
              I am using MQSeries 5.2 on AIX. My application is running on a solaris box
              that is making client connectin to connect MQServer. I am uisng JMS api for
              putting message( not MQ API). I am just using MQ
              API(com.ibm.mq.jms.MQQueueConnectionFactory, com.ibm.mq.jms.MQQueue) for
              binding Queue & QueueConnectionfactory in JNDI.
              How can i achive JMS connection pooling.
              As i am not using MQ API for Sending & receiving messages so i can't use
              MA88 pack following APIs
              MQPoolToken token=MQEnvironment.addConnectionPoolToken();
              or
              MQSimpleConnectionManager myConnMan=new MQSimpleConnectionManager();
              so How can i use conection pooling in JMS application. my JMS application
              is running in Weblogic 7.0 App Server.
              Thanks v much,
              Rakesh
              

    I believe that MQSeries JMS will use its own pooling of connection objects
              if you set the correct parameters when you create your JMS connection
              factory using the "jmsadmin" script. You'll have to look at the IBM manuals
              to see the details, although I think this feature is on by default.
              greg
              "Rakesh Jaiswal" <[email protected]> wrote in message
              news:[email protected]..
              >
              > Hi All,
              > I am using MQSeries 5.2 on AIX. My application is running on a solaris box
              > that is making client connectin to connect MQServer. I am uisng JMS api
              for
              > putting message( not MQ API). I am just using MQ
              > API(com.ibm.mq.jms.MQQueueConnectionFactory, com.ibm.mq.jms.MQQueue) for
              > binding Queue & QueueConnectionfactory in JNDI.
              >
              > How can i achive JMS connection pooling.
              > As i am not using MQ API for Sending & receiving messages so i can't use
              > MA88 pack following APIs
              >
              > MQPoolToken token=MQEnvironment.addConnectionPoolToken();
              > or
              > MQSimpleConnectionManager myConnMan=new MQSimpleConnectionManager();
              >
              > so How can i use conection pooling in JMS application. my JMS application
              > is running in Weblogic 7.0 App Server.
              >
              > Thanks v much,
              > Rakesh
              

  • About JMS Connectivity Properties

    Hi Experts,
    Within this document:<a href="http://help.sap.com/saphelp_nw04/helpdata/en/16/b1b34f4e5a4227bfdcd0c948473131/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/16/b1b34f4e5a4227bfdcd0c948473131/frameset.htm</a>
    It mentioned there is a subtab named 'additional' in step 5, but it doesn't appears in my XI VA. How can I make it avaiable? Because I want to config a jms connection pool.

    1)notes for JMS adapter
    Go thru these notes 790963,747601,746393,856346,802754,
    837501 and 790224.
    2)information regarding use of JMS Adapters,Go thru these links of help.sap.com
    JMS Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
    Configuring the Sender JMS Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Configuring the Receiver JMS Adapter:
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    JMS-Provider-Specific Settings:
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    And to deploy the jars which are given in the JMS Adapter link go thru this article "How To Install and Configure External Drivers for JDBC and JMS Adapters"
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/how%20to%20install%20and%20configure%20external%20drivers%20for%20jdbc%20and%20jms%20adapters.doc
    How To Install and Configure External Drivers for the JDBC & JMS Adapters
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f04ce027-934d-2a10-5a8f-fa0b1ed4d88f

  • Doubts concerning External Connection Pool

    A few questions:
    1. How can I set up an external connection pool with toplink? or in another words, assuming that I have successfully configured a connection pool (and a datasource) on my weblogic app-server, how do I configure Toplink to use the same?
    2. I am trying to achieve the above (refer point 1), by defining my custom connector (by extending TOPLink.Public.Sessions.DefaultConnector). The custom connector provides connections using the dataSource.getConnection(). Now, the question is
    - Where will the pooling happen in this case? i.e. Will Toplink use its own connection pool (populate its own connection pool with container managed data source), and issue connections (container managed) from there or will it make use of the container managed pooling (and ask for connections from the container managed pool, as and when required)? The subtle difference being, weblogic will not be able to validate a connection before issue in the former case.
    3. This question is similar to point 2, but talks in terms of a practical example. Assuming that if I am using the custom connector successfully in my code, then if I pull out the network cord and reconnect again, I expect the container to provide me with a valid connection (as weblogic can be configured to perform a validity check on a connection before issuing). I am getting a 'connection reset by peer' error in my application (indicating that either the container fails to provide a valid connection, or toplink does not use the container managed pool effectively). I guess, Toplink still uses its own pool but this time it is pooling container managed dataSources. Since the connections are issued from Toplink and not container, here is no validation/reconnection happening for the connection, before issue. Please comment if I am thinking in the right direction or not. If not, how you can explain the above failure?
    4. My aim is to utilise the container's connection pool, and Toplink's ability to perform the rest of the things (including transactions). Is that possible?

    Vikas,
    TopLink can easily be configured to use the external connection pool of an server. This can be accomplished with API but more commonly using the sessions.xml configuration file for the SessionManager. In the product we ship examples for WLS that make use of data sources configured in the server. The portion of the sessions.XML file in question is:
              <login>
                   <user-name>weblogic</user-name>
                   <password>weblogic</password>
                   <datasource>java:comp/env/jdbc/ejbJTSDataSource</datasource>
                   <non-jts-datasource>java:comp/env/jdbc/ejbNonJTSDataSource</non-jts-datasource>
                   <uses-external-transaction-controller>true</uses-external-transaction-controller>
                   <uses-external-connection-pool>true</uses-external-connection-pool>
              </login>
              <external-transaction-controller-class>oracle.toplink.jts.wls.WebLogicJTSExternalTransactionController</external-transaction-controller-class>
    This sets TopLink up with both data source access to the JTA and non-JTA connection pools. The full example also includes a domain where the data source is configured.
    When TopLink is using the connection pool of the server (external connection pooling) it will not pool its own connections. TopLink will request a connection from the pool each time one is required and release it back when done. This leaves the server responsible for the number of connections available and also for supporting database re-connection.
    Doug

  • Problem in getting the database connection from a connection pool

    Hai All,
    I am facing a problem in getting the database connection from a connection pool created on weblogic server 8.1.
    I am using the Oracle database 8.1.7.
    I have configured my connection pool, datasource and JNDI in weblogic.
    In my java program i have the following code to retrieve the connection.
    import java.sql.*;    
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    class jdbcshp1 {
        public static void main(String[] args) {
         Connection connection = null;
         try {
               Hashtable ht = new Hashtable();
               ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");  // Wanna get rid of this.
               ht.put(Context.PROVIDER_URL,"t3://localhost:7001"); // wanna get rid of this.
               // Get a context for the JNDI look up
               Context ctx = new InitialContext(ht);
            javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("myjndi1");
              //Create a connection object
              connection = ds.getConnection();
         The above code is working fine but, the two ht.put statements are creating problem.
    The problem is, after converting the application into WAR file it can be deployed
    on any machine or different port on same machine. My application fails if its deployed on
    weglogicserver which is at different port.
    Is there any way that i can get rid of those ht.put statements or any other way to solve the problem.
    any help is appreciated.
    Thanks in advance
    Pooja.

    Hai All,
    Firstly, thanks for ur reply.
    Even i have seen some code which uses context constructor with out any parameter and works fine.
    i dont understand why its not working for my code.
    When i remove those ht.put code and use context constructor with out any parameter, it giving an error.
    Context ctx = new InitialContext();
    javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("ocjndi");
    connection = ds.getConnection();The error is as follows:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    the above error is forcing me to include those code but if the port number is changed the code will not work. Plz let meknow if some setting have to be made.
    I appreciate all ur valuable help.
    Thanks once again.
    Pooja.

  • Creating a connection pool using Oracle 10g, Sun ONE Application Serve 8.1

    Has any one succesfully configured Oracle 10g to work with Sun ONE Application Server 8.1 on Windows 2000 server service pack 4? I am embarking on a new J2EE project and I need to configure it as soon as possible.

    I haven't done it myself on that particular service pack, but I don't see why it should be any different than configuring a connection pool on other vanilla win2k/other OSes.
    Would you please try and let this forum know?
    thanks.

  • Connection pool and datasource

    In WL 7, we need to configure a datasource and a connection pool in order for the application to get a connection to the database. How is the datasource and connection pool related?
    In WL 9.2, there is no option to configure the connection pool, there is only the option to configure the data source. Where did the connection pool go in WL 9.2?

    gerald lee wrote:
    In WL 7, we need to configure a datasource and a connection pool
    in order for the application to get a connection to the database.
    How is the datasource and connection pool related?
    It depends on the WLS version. pre-9.X, there can be more than one datasource pointing to a given pool,
    but you do need a datasource typically to use a pool.
    In WL 9.2, there is no option to configure the connection pool, there is only
    the option to configure the data source. Where did the connection pool go in WL 9.2?In 9.X and beyond the relationship is one-to-one, and you will create both at the
    same time when creating a datasource.
    Joe

  • Connection pool for big web application

    hi,
    i am developing an application which had more then 20 classes and each class use databases.
    i made an connection bean and use it for database connectivity but as my code expand and my application run for longer time i start getting error of connection limit.
    then i start using connection pool. in this i start using one connection for whole application.
    now i want that my
    1-whole application use that connection pool and i dont need to initialize it in different classes.
    2- The main problem is that may at a time i have to connect database with different user and these connections should remain active.
    my application will be used for enterprise level and remain active for months .
    following is my connection pool
    public class ConnectionPool implements Runnable
          private Log log=new Log();
          private String driver, url, username, password;
          private int maxConnections;
          private boolean waitIfBusy;
          private Vector availableConnections, busyConnections;
          private boolean connectionPending = false;
          public ConnectionPool(String driver, String url,String username, String password,int initialConnections, int maxConnections, boolean waitIfBusy) 
              this.driver         =     driver;
              this.url            =     url;
              this.username       =     username;
              this.password       =     password;
              this.maxConnections =     maxConnections;
              this.waitIfBusy     =     waitIfBusy;
              if (initialConnections > maxConnections)
                initialConnections = maxConnections;
              availableConnections = new Vector(initialConnections);
              busyConnections = new Vector();
              try
                  for(int i=0; i<initialConnections; i++)
                    availableConnections.addElement(makeNewConnection());
              catch(Exception e)
                log.write(e.getMessage());
          }//EO constructor
      public synchronized Connection getConnection()
             if (!availableConnections.isEmpty())
                  log.write("Total connections="+availableConnections.size());
                  Connection existingConnection =  (Connection)availableConnections.lastElement();
                  int lastIndex = availableConnections.size() - 1;
                  availableConnections.removeElementAt(lastIndex);
                  // If connection on available list is closed (e.g.,it timed out), then remove it from available list
                  // and repeat the process of obtaining a connection. Also wake up threads that were waiting for a connection because maxConnection limit was reached.
                        try
                            if (existingConnection.isClosed())
                              notifyAll(); // Freed up a spot for anybody waiting
                              return(getConnection());
                            else
                              log.write(  "in available connection"  );
                              busyConnections.addElement(existingConnection);
                              return(existingConnection);
                        catch(SQLException se)
                            log.write(se.getMessage());
              } else {
                        // Three possible cases:
                        // 1) You haven't reached maxConnections limit. So establish one in the background if there isn't
                        //    already one pending, then wait for the next available connection (whether or not it was the newly established one).
                        // 2) You reached maxConnections limit and waitIfBusy flag is false. Throw SQLException in such a case.
                        // 3) You reached maxConnections limit and waitIfBusy flag is true. Then do the same thing as in second
                        //    part of step 1: wait for next available connection.
                        if ((totalConnections() < maxConnections) &&  !connectionPending)
                          makeBackgroundConnection();
                        else if (!waitIfBusy)
                            log.write("Connection limit reached");
                        // Wait for either a new connection to be established (if you called makeBackgroundConnection) or for
                        // an existing connection to be freed up.
                        try {
                          wait();
                        catch(InterruptedException ie)
                          log.write(ie.getMessage());
                  // Someone freed up a connection, so try again.
                return(getConnection());
              }//EO main if-else
          return null;
    }//EO getconnection method
      // You can't just make a new connection in the foreground
      // when none are available, since this can take several
      // seconds with a slow network connection. Instead,
      // start a thread that establishes a new connection,
      // then wait. You get woken up either when the new connection
      // is established or if someone finishes with an existing
      // connection.
      private void makeBackgroundConnection() {
        connectionPending = true;
        try {
          Thread connectThread = new Thread(this);
          connectThread.start();
        } catch(OutOfMemoryError oome) {
          // Give up on new connection
          log.write(oome.getMessage());
      public void run() {
        try {
          Connection connection = makeNewConnection();
          synchronized(this) {
            availableConnections.addElement(connection);
            connectionPending = false;
            notifyAll();
        } catch(Exception e) { // SQLException or OutOfMemory
          // Give up on new connection and wait for existing one free up.
          log.write(e.getMessage());
      // This explicitly makes a new connection. Called in
      // the foreground when initializing the ConnectionPool,
      // and called in the background when running.
      private Connection makeNewConnection()
        //log.write("make new connection with  "+url+" "+username+" "+password +" and driver= "+driver);
        Connection connection=null;
          try
            // Load database driver if not already loaded
            //Class.forName(driver);
             DriverManager.registerDriver(new OracleDriver());
            // Establish network connection to database
            connection =  DriverManager.getConnection(url, username, password);
                    if( connection.isClosed() )
                      log.write("ooooooops no connection");
                    else
                      log.write("yahoooo get connection");
          catch(Exception e)
            log.write(e.getMessage());
        return(connection);
      public synchronized void free(Connection connection) {
        busyConnections.removeElement(connection);
        availableConnections.addElement(connection);
        // Wake up threads that are waiting for a connection
        notifyAll();
      public synchronized int totalConnections() {
        return(availableConnections.size() + busyConnections.size());
      /** Close all the connections. Use with caution:
       *  be sure no connections are in use before
       *  calling. Note that you are not <I>required</I> to
       *  call this when done with a ConnectionPool, since
       *  connections are guaranteed to be closed when
       *  garbage collected. But this method gives more control
       *  regarding when the connections are closed.
      public synchronized void closeAllConnections() {
        closeConnections(availableConnections);
        availableConnections = new Vector();
        closeConnections(busyConnections);
        busyConnections = new Vector();
      private void closeConnections(Vector connections) {
        try {
          for(int i=0; i<connections.size(); i++) {
            Connection connection =
              (Connection)connections.elementAt(i);
            if (!connection.isClosed()) {
              connection.close();
        } catch(SQLException sqle) {
          // Ignore errors; garbage collect anyhow
          log.write(sqle.getMessage());
      }i get this code from internet, in which it also mention that use following code
    public class BookPool extends ConnectionPool {
    private static BookPool pool = null;
    private BookPool(...) {
    super(...); // Call parent constructor
    public static synchronized BookPool getInstance() {
    if (pool == null) {
    pool = new BookPool(...);
    return(pool);
    }if some one want to use it for whole application then use connection pool by BookPool,
    now main point is i m not getting the BookPool class could some one explain it to me???
    and second by using it can i connect to different users of DB at a time, if cant then how i can.
    its good if some one explain it by little code.
    thxxxxxxxxxxxxxxxxxx

    If this is a real, serious application and not just for practice, then why are you trying to write your own connection pool implementation?
    You'd better use Jakarta's Commons Pool and Commons DBCP, which are widely used, well tested implementations of connection pools.
    If this is a web application running in a J2EE container, you'd normally configure the connection pool in the container. The container will register the pool in JNDI and you'd look it up in JNDI from your application.
    Here's some documentation on how to do that in Tomcat 5.5: JNDI Datasource HOW-TO

Maybe you are looking for

  • Unable to connect to the 2014 SQL Developer's Edition Report Server

    Hello,    I have been through the wringer trying to gain access to my report service.  I have to admit that I am something of a neophyte with regards to SQL Server but I am pretty good with Windows 7 management in general.  I have just installed SQL

  • DVD Plays on computer drives, but not on dvd players

    iDVD 06 - This is a new problem, just happened two days ago. Previous dvd's burned with idvd 06 work just fine on old and new dvd players. I always test them after burning. However this new project will only play on computer dvd drives (mac or pc) bu

  • Repeating Table in Template -- Can't Edit It

    Hi -- I created a template http://www.practice.thelegatogroup.com/Templates/employee_list.dwt ) to be used as a list of employees for a client. For the employee list I used a repeating table. All seemed to go OK when I created the initial list of emp

  • Why does my 9810's auto rotate stop working all of a sudden?

    My 9810's PIN is: 2978D267 As said in title, the auto-rotate has ceased to work all of a sudden. I've tried removing the battery several times for total reboot and no luck, also tried drawing the keyboard back and forth and no dice. the other anomaly

  • Merging Multiple Artists Into One Album

    Ok so I donwloaded a CD called Buzz Cuts with alot of great artisits. Now my problem is there are 30 songs and Itunes is showing 30 different albums even though they are all from the same CD. Its messing up because of all the different artists. How c