ALBPM - Transaction Management with Database
We are using DB Objects by importing them in the Catalog.
Now for how can we execute multiple INSERT/UPDATE/DELETE operations in a Single Transaction ?
If you have all your update, insert and delete statements inside one automatic activity. Its considered as one transaction.
Similar Messages
-
How to recreate enterprise manager with database vault
I'm testing the Oracle database Vault option at database version 11.1.0.7 but there are some thing that does not work correct in the test. One of them is that I do not be able to recreate the enterprise manager repository. After probe several ways with database option enabled I decided to disable it. With the database vault option disabled I recreated the emanager ok but after enabled the database vault option again the database vault administrator does not browse for me:
The firefox notice me an error with resource /dva.
I hope you can help me.when you have vault on do you get errors in the realm audit reports ?
or are you trying to create an oem repository in a vault enabled database ? -
Transaction management with DatabaseControl calls in Workshop
hej,
How can DatabaseControl calls be grouped within a transaction from a Forward method? For example, if I have the following:
protected Forward () {
<DatabaseControl>.insert1 ();
<DatabaseControl>.update1 ();
<DatabaseControl>.update2 ();
The insert1, update1, and update3 calls should be grouped together in a transaction so that if update2 fails everything gets rolled back.
Using weblogic.jdbc.db2.DB2Driver driver against DB2 8.2 (plus 2 phased commit is enabled for non-XA drivers on the DataSource object).
/ Matthew YoungFound a partial answer to my own question. Wrap a Custom Control around the DatabaseControl calls and automatically get transaction managing.
Would be cool if somebody could give a simple example or a few pointer. / Matthew -
Database transaction management with MDB
Hi all,
I'm working on an Online Order Processing system. One of the functionalities that we've developed is mass order upload, that consists of one CSV file with a lot of orders inside.
To have concurrent processing on the processing of an order upload file (as the orders present in file are independent of each), we've implemented a Message Driven Bean that receives an order to process in a request queue, processes the order and answers with the processed order in a response queue. The flow is like:
1- Struts action is invoked to handle order upload.
2- A method on a session bean is called to process the file.
3- The session bean parses the file, separates all the order lines by origin customer (one order for each customer in the file) and sends messages to the request queue.
4- For each order, an instance of the MDB will receive the message, process the order and send the processed order via response queue.
5- After the Session Bean sends all the requests with the orders to process, he will wait for all the responses in the response queue until all the orders are processed and provide a valid answer, according to the whole process result, to the online user.
My doubt is how can I manage efficiently transactions (mainly database transactions) so if inside a bunch of 200 orders processed concurrently one fails, I am able to rollback all the database transactions used by the MDB to process all the orders?
As the failure of an order can be related to some error in the file, I want to rollback everything, give a message to the user to fix the file and allow him to upload the whole file (fixed) again.
Any help would be appreciated.
Regards,
CamposHi,
1) As Of Version 4.6 C BAPIs has autocommit.ie Once you call a BAPI from anywhere before it returns it commits.So, we no need to worry about that.
But some BAPI's doesn't in that case only we need to make COMMIT call.
2)Transaction doesn't depend on Client object.
3)No.
Regards,
Abdul Raheem .S -
Transaction Management with ATMI or SQL
If a system has only single database server, that is, no distribution or heterogeneity,
application servers can use ATMI or SQL manage transations. My question is: which
method is better? In that case, whether it is unnesseary to use the TM service
of Tuxedo? Any comment is welcome.Brian:
If you use the database's begin, commit, and rollback you must have all the database
work related to that transaction performed in one Tuxedo service. If you use
XA connections to the database and use the tp/tx family of function calls you
can split a transaction across multiple servers/services and it will be tied together
by Tuxedo.
Sometimes this is nice. Let's say your business transaction comprises three distinct
database operations which must be included in the same transaction. If you put
these in different services you can get individual timings for each operation
simply by turning on txrpt.
hope this helps.
mervin
"brian luo" <[email protected]> wrote:
>
If a system has only single database server, that is, no distribution
or heterogeneity,
application servers can use ATMI or SQL manage transations. My question
is: which
method is better? In that case, whether it is unnesseary to use the TM
service
of Tuxedo? Any comment is welcome. -
Forte Transaction Management & 2PC
Forte Transaction Management & 2PC
The main purpose of 2PC in a distributed transaction manager is
to enable recovery from a failure that occurs during the window
of transaction commit processing. The Forte transaction manager was built
with this in mind but only with respect to the "volatile" (or "in memory")
objects that Forte manages. What this implies is that because Forte stores
objects in memory and not persistently on disk, the requirement of recovery
for these objects is significantly reduced (if not eliminated all together).
Forte follows a distributed 2PC model in that tasks and messages carry
along with them transaction identification and, during commit processing,
every distributed participant is polled for its availability to commit
the transaction. Applications saving persistent data to disk during a
distributed Forte transaction need to concern themselves with the potential
for failure during the commit processing window. Forte's prepare phase polls
each site (confirming a communications link with each distributed participant)
but no prepare request goes to the database primarily because (in release 1 and
2 of forte) no database supported a general distributed two-phase commit
(one could take issue with that in the case of Sybase, but rather than debate
this point, suffice it to say that the general direction in the industry for
support of this functionality was through TP monitors -- more on that later).
Once all sites are ready to commit Forte expects that the commit will
complete successfully. If at this moment, for example, a participating
Sybase server terminates (with data not yet committed) while a participating
Oracle server has already committed its unit of work, then the outcome of
the distributed transaction is inconsistent - if no one has yet committed
Forte will still abort the transaction. This "window of inconsistency"
is documented in the Forte TOOL manual.
Mission critical applications that require distributed transactions can
address this window of inconsistency in a number of ways:
* Utilize a TP monitor such as Encina (see below)
* Log distributed updates in an auxiliary database table (much like a
distributed transaction monitor's transaction-state log). This approach has
been the traditional banking application solution prior to the commercial
availability of products like Encina, Tuxedo, TopEnd, etc.
This solution is somewhat complex and is usually not generic enough
so as not to have to change code every time a new table or database
site is introduced into the application's data model.
* Rearrange the data model in order to eliminate the need for distributed
transactions. This is usually only a temporary solution (with smaller
numbers of active clients) and cannot be applied to complex legacy systems.
With the advent of the X/Open distributed transaction architecture (the
XA Interface) more database vendors have found that by complying with the
XA interface they can plug their database-specific implementation of
transaction into a globally managed transaction, with commit and abort
processing being conducted by a central coordinator. Of course, the
overall transaction manager coordinating the global transaction must
itself, persistently record the state of the different distributed
branches participating in the transaction. A significant portion of
the functionality provided by products such as Encina, Tuxedo, TopEnd and
OpenTP1 is to provide exactly this global transaction management.
Rather than extend the Forte distributed transaction manager with the
functionality necessary to manage and recover distributed transactions
that modify data on disk, Forte has chosen to integrate with the emerging
set of commercial transaction monitors and managers. This decision was
built into the original design of the Forte transaction model (using XA and
early Tuxedo white-papers as guidelines):
* In Forte release 2 an integration with Encina was delivered.
* In January 1997 a press release announced an integration of
OpenTP1 with Forte for release 3.
* The Forte engineering staff is currently investing integration
with other transaction management products as well.
Neil Goodman,
Forte Development.You don't. ("manage" a transaction)
There is nothing really to "manage".
A transaction is automatically started when you make any changes to data (e.g. fire off a DML statement).
You simply needs to issue a COMMIT or ROLLBACK when needed. A COMMIT at the end of the business transaction and not before (i.e. no committing every n number of rows). A ROLLBACK when hitting an exception or business logic error that requires the uncommitted changes to be undone.
That in a nutshell is it. It is that simple.
Oracle also supports creating savepoints and rolling back only some changes made thus far in the transaction.
The only other thing to keep in mind that a DDL in Oracle issues an implicit commit. Firing off a DDL with cause any exiting uncommitted transaction to be committed.
Transaction "logic/management" should not be made more complex than this. -
11g TP2 ADF Task Flows and Transaction Management
I'm wondering how ADF Task Flow Transaction Management works vis-a-vis database sessions and using stored procedure calls in an environment with connection pooling. I haven't written the code yet but am looking for a better understanding of how it works before I try.
Example:
I create a bounded adf task flow. I set the "transaction" property to "new-transaction" and the "data control scope" to "isolated".
As the task flow is running, the user clicks buttons that navigate from page to page in the flow. Each button click posts the page back to the app server. On the app server a backing bean method in each page calls a stored procedure in a database package to modify some values in one or more tables in the database. The procedure does not commit these changes.
Each time a backing bean makes a stored procedure call will it be in the same database session? Or will connection pooling possibly return a different database connection and therefore a different database session?
If the transaction management feature of the adf task flows guarantees me that I will always be in the same database session then I don't have to write any extra code to make this work. Will it do that or not?I don't know if it is documented in the adf documentation currently available for 11g TP2 but what you ask for is a normal transaction management with connection pooling and i can't imagine it is not implemented in ADF BC layer like it is in JPA or other persistence layer.
A transaction will always be executed in the same session. Normally your web session will stay in the same session even you start more than one transaction. You don't have to write any code to manage the session pooling. It is a good practices to customize it at the persistence layer during installation depending on your infrastructure.
Take a look into Fusion Developer Guide ... i'm sure you will find some better explanations about this. -
Trxn Management with Tuxedo ATMI or SQL
Hi,
Ours is a leading bank in Saudi Arabia with a network of 70 branches in the country.
We have a number of heteogeneous systems for various banking operations.
Specifically, this quaestion is regarding choosing a choice of Tuxedo ATMI or
SQL for incorporating various business rules in retail banking, right from opening
customer realtionship and accounts until closing the customer file.
Given the very hectic time schedule and also the concern for long-term maintenance,
please advise which one is right decision
- Building the business logic in the PL/SQL procedures in
the central ORACLE server (Branches / Departments /
ATMs / ... will access this and iteropration of all
these sevices have to be managed (some of these are
XA compliant and some are not)
or
- building the business rules in the Tuxedo ATMI services?
Please note that I already read another email inquiry (and reply ) from Mervin
with the subject 'Transaction management with ATMI or SQL'.
Adavnce thanks.
N Dhandapani
Saudi French Bank
RiyadhHi,
Implementing business checks/repository in BEA Tuxedo servers seems a cleaner
approach from architecture and maintenance point of view.
It helps the application to maintain n-tier architecture and leave the client
to take care of only the interface and database the data storage. All checks and
business rules will be in the middle-layer.
Moreover, using Tuxedo brings in some advantages like:
*Load Balancing
*Scalability
*Transaction Monitoring
*Fail-over
*Connection Pooling
*Easier Database Migrations (very easy if only ANSI features are used, else code
changes mey be required)
NOTE: Tuxedo services can be developed using ESQL/C (Pro*C for Oracle) which may
be database specific. A database independent approach (a study/analysis may be
required) would be to use some database library that encapsulates the calls like
Rogue Wave.
HTH
Best Regards
MS -
Database transaction management in Web services
Hi,
I am using Oracle8i and firing some database queries from my web services. I want to do the transaction management for the same i.e. When one of the queries fail, i want to rollback. But when i write my own transaction management, it gives me an error :
java.sql.SQLException: Cannot call Connection.commit in distributed transaction.Transaction Manager will commit the resource manager when the distributed transaction is committed.
Can anyone please help me out as to how to perform the database transaction management in web services.
Thanking in advance.
PrashantUnfortunately to manage transactions over web services there is no viable solution available in market. All implementations come with restrictions e.g. Metro works with only EJBs on Glassfish, JBossTS works on JBoss but not with JAX-WS, Atomikos supports only Axis as of now.
1. See explanation above.
2. Yes, it can be but conditions mentioned above are applied :-)
3. [www.oasis-open.org/committees/ws-tx/|www.oasis-open.org/committees/ws-tx/]
4. Unfortunately as of now I do not see an easy way to this problem. -
Receiving Transaction Manager concurrent program errors out with INACTIVE, NO Manager
Hi,
We have an R12.1.3, 2-node (1 node Apps, 1 node DB) ERP system on Sparc 64, Solaris 10 Machines.
All the concurrent managers including Standard Manager and Receiving Transaction Manager are running fine.
When we are running the concurrent program Receiving Transaction Manager(RCVTPO), it errors out with Inactive No Manager error.
I am not being able to find any errors in the log files of CM or DB.
Could someone help me resolve this error. Its kinda urgent
Thanks.
MuneerPlease see the solution in (PODAMGR And RCVOLTM Inactive And Cannot Be Started (Doc ID 726158.1)).
Are there any errors in the database log file?
If the above didn't help, please run cmclean.sql and ccm.sql scripts.
Concurrent Processing - CMCLEAN.SQL - Non Destructive Script to Clean Concurrent Manager Tables (Doc ID 134007.1)
Concurrent Processing - CCM.sql Diagnostic Script to Diagnose Common Concurrent Manager Issues (Doc ID 171855.1)
Thanks,
Hussein -
I want to add another management server to our existing SCOM environment. But whenever I run this setup on a new server I get stuck in the window for selecting the OperationsManager database. The database field stays blank and in the OpsMgrSetupWizard log
there are lines that the setup version is not compatible with the database version. But I use the same installer as when I installed the other management servers a year ago.
Maybe there is a newer setup installer? But I can't find it.
[10:42:54]: Error:
:Error:setup version: 7.0.9538.0 is not compatible with database version: 7.1.10226.0
[10:42:54]: Info:
:Info:Using DB command timeout = 1800 seconds.
[10:42:54]: Info:
:Info:isOMDatabase: Read returned true. so far, this is OM DB, not an empty DB
[10:42:54]: Debug:
:Connection was not open. We will try to open it.
[10:42:54]: Debug:
:SqlConnectionReady returned True.
[10:42:54]: Info:
:Info:Using DB command timeout = 1800 seconds.
[10:42:54]: Info:
:Info:isOMDatabase: Read did not return true. The MG is missing. This is not OM DB
[10:42:54]: Info:
:Info:Using DB command timeout = 1800 seconds.
[10:42:54]: Always:
:Azman store table not found in OperationsManagerDW table, assuming this is an not a valid OMDB for empty DB scenario.
[10:42:54]: Info:
:Info:DatabaseConfigurationPage: DB connection attempt completed.
[10:42:54]: Info:
:Info:DatabaseConfigurationPage: DB connection attempt completed.Never mind, found it!
Apparently there was a newer version of SCOM setup in msdn and someone upgraded our existing SCOM environment. Downloaded the new setup, new report viewer controls and a System
CLR Types for Microsoft® SQL Server® 2012 and now it works!! -
MQSeries as a Transactional Resource Manager with Weblogic Server
I am trying to setup the example given in the BEA white paper:
Using MQSeries as a Transactional Resource Manager with Weblogic Server.
Version 1.
October 25, 2001.
I followed the instructions given in the documents, but when i run client program
>java MQClient t3://localhost:7001 "MQSeries test"
I received the following exception below. Does anyone how what is the reason for
this exception(s) and how i can solve the problem? My MQSeries Server and Weblogic
6.1 sp2 are installed on seperate NT machines. I installed the MQSeries classes
for java and the MQSeries classes for Java Message Service on the weblogic
server machine.
sending: "MQSEries test"
Exception in thread "main" java.rmi.ServerError: A error occurred the server; ne
sted exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
[java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
Start server side stack trace:
java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
at java.lang.Runtime.loadLibrary0(Runtime.java:749)
at java.lang.System.loadLibrary(System.java:820)
at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
at java.security.AccessController.doPrivileged(Native Method)
at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
149)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
tion(MQBindingsManagedConnectionFactoryJ11.java:139)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
ion(MQBindingsManagedConnectionFactoryJ11.java:157)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
a:80)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
ctionManager.java:150)
at com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
a:666)
at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
AQueueConnectionFactory.java:53)
at weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
at MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
a:267)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:60)
at $Proxy1.bridgeWLS2MQS(Unknown Source)
at MQClient.main(MQClient.java:54)
The point is that over TCPIP the MQ XA connection factory is not available.
The MQ shared memory/JNI driver is required to access it, which limits
access to those processes that are on the same box as the MQ q manager.
This is an MQ series limitation.
Douglas WF Acheson wrote:
> Hello,
>
> If memory server me correct, default connection to MQ Series is through
> JNI calls and shared memory. You have to change the protocol to TCPIP when
> connection to the queue manager on another box (do not know much about XA
> with MQ Series); that is when you connect to MQ Series vi JMS on another
> box you must do something like the following:
>
> qcf = new MQQueueConnectionFactory() ;
> qcf.setHostName(hostName) ;
> qcf.setPort(port) ;
> qcf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP) ;
> qcf.setQueueManager(qManagerName) ;
>
> Then when you create you queues, sesions etc. you are point at the correct Q
> manager.
>
> Hope this helps ...
>
> Douglas WF Acheson
>
> "Raja Mukherjee" <[email protected]> wrote in message
> news:[email protected]...
> > On a closer look at the original post (sorry for missing that, it was
> early
> > in the morning), you would not be able to use XA if your QM and WLS are in
> > different boxes. Check on this newsgroup, there are several posts on this
> > subject. The whitepaper, if I recall correctly, installs both MQ and WLS
> on
> > the sames box. This is a MQSeries limitation not WLS.
> >
> > .raja
> >
> >
> > "ibrahim Nehme" <[email protected]> wrote in message
> > news:[email protected]...
> > >
> > > I am trying to setup the example given in the BEA white paper:
> > > Using MQSeries as a Transactional Resource Manager with Weblogic Server.
> > > Version 1.
> > > October 25, 2001.
> > > I followed the instructions given in the documents, but when i run
> client
> > program
> > >
> > > >java MQClient t3://localhost:7001 "MQSeries test"
> > > I received the following exception below. Does anyone how what is the
> > reason for
> > >
> > > this exception(s) and how i can solve the problem? My MQSeries Server
> and
> > Weblogic
> > > 6.1 sp2 are installed on seperate NT machines. I installed the MQSeries
> > classes
> > > for java and the MQSeries classes for Java Message Service on the
> weblogic
> > > server machine.
> > > ---------------------------------------
> > > sending: "MQSEries test"
> > > Exception in thread "main" java.rmi.ServerError: A error occurred the
> > server; ne
> > > sted exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > >
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > >
> > > <<no stack trace available>>
> > > --------------- nested within: ------------------
> > > weblogic.rmi.extensions.RemoteRuntimeException - with nested exception:
> > > [java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.rmi.ServerError: A error occurred the server; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ; nested exception is:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > >
> > > Start server side stack trace:
> > > java.lang.UnsatisfiedLinkError: no mqjbnd04 in java.library.path
> > > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1312)
> > > at java.lang.Runtime.loadLibrary0(Runtime.java:749)
> > > at java.lang.System.loadLibrary(System.java:820)
> > > at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:179)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at com.ibm.mq.server.MQSESSION.<clinit>(MQSESSION.java:175)
> > > at
> > com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:67)
> > > at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:329)
> > > at
> > com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:
> > > 149)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnec
> > > tion(MQBindingsManagedConnectionFactoryJ11.java:139)
> > > at
> > com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnect
> > > ion(MQBindingsManagedConnectionFactoryJ11.java:157)
> > > at
> > com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.jav
> > > a:80)
> > > at
> > com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConne
> > > ctionManager.java:150)
> > > at
> > com.ibm.mq.MQQueueManager.obtainBaseMQQueueManager(MQQueueManager.jav
> > > a:666)
> > > at com.ibm.mq.MQQueueManager.construct(MQQueueManager.java:615)
> > > at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:436)
> > > at
> com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:52)
> > > at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:1067)
> > > at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:757)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:209)
> > > at
> > com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
> > > at
> > com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:46
> > > )
> > > at
> > com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQX
> > > AQueueConnectionFactory.java:53)
> > > at
> > weblogic.jms.foreign.mqseries.WrapMQXAQueueConnectionFactory.createXA
> > > QueueConnection(WrapMQXAQueueConnectionFactory.java:29)
> > > at
> > MQSeriesHelperImpl$JMSObject.<init>(MQSeriesHelperImpl.java:237)
> > > at MQSeriesHelperImpl.bridgeWLS2MQS(MQSeriesHelperImpl.java:125)
> > > at MQSeriesHelperImpl_WLSkel.invoke(Unknown Source)
> > > at
> > weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
> > > at
> > weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
> > > a:267)
> > > at
> > weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
> > > java:22)
> > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
> > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
> > > End server side stack trace
> > > ]
> > > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:60)
> > > at $Proxy1.bridgeWLS2MQS(Unknown Source)
> > > at MQClient.main(MQClient.java:54)
> >
> >
-
How to manage several databases with DWH
hi,
How to manage several databases within an Oracle datawarehouse.
I.e. to memorize in a DWH the informations along various axes of analysis relating to each databases (I mean : operations, breakdowns, parmeters, caracteristic technical, statistics ...)
Thanks
RobertMylenium, thanks for a helpful hint!
I tried your suggestions and it seems that i have to save
- mask shape and
- Stroke effect settings incl. key frames
as separate things, if i want them in the effects panel.
When i set the Stroke effect to my preferred look (with custom colours, width, key frames for Start and Opacity) and save this as an effect, i cannot re-apply this to another mask with any of my custom settings still there. When i re-apply the saved custom Stroke effect, all settings like keyframes, custom colours and width are lost and it arrives with default settings and without any keyframes.
Maybe i do something very wrong here?
I wondered if i should save the mask with Stroke effect as an AE file and re-import it. But this mask can only be saved together with some footage and i don't see how to bring mask including Stroke effect into an existing composition and which of the File/Import ways to use.
Thanks again! -
How Transaction Manager work with Resource Manager, like Connection pool?
hi,
I'm using BEA Webloigc8.1 Stateless Session Bean/DAO/Oracle stored proc.
but I'm not quite clear how Transaction Manager work with Resource Manager, like Connection pool.
my understanding is that, in a weblogic transaction, a stateless session bean interact with several DAOs, and for each method of DAO a connection is acquired from connection pool. I've heard that the connection will not return to pool until the transaction commits.
My question is that, does it mean that for a weblogic transaction, multiple connections might be allocated to it? and if multiple connections are allocated, then how many oracle transactions would be started? or multiple connections share the same oracle transaction?
I didn't feel it make sense to start multiple oracle transactions, cause deadlock might be incurred in a single weblogic transaction.
any help appreciated!Xin Zhuang wrote:
hi,
I'm using BEA Webloigc8.1 Stateless Session Bean/DAO/Oracle stored proc.
but I'm not quite clear how Transaction Manager work with Resource Manager, like Connection pool.
my understanding is that, in a weblogic transaction, a stateless session bean interact with several DAOs, and for each method of DAO a connection is acquired from connection pool. I've heard that the connection will not return to pool until the transaction commits.
My question is that, does it mean that for a weblogic transaction, multiple connections might be allocated to it? and if multiple connections are allocated, then how many oracle transactions would be started? or multiple connections share the same oracle transaction?
I didn't feel it make sense to start multiple oracle transactions, cause deadlock might be incurred in a single weblogic transaction.
any help appreciated!Hi. If you configure your WLS DataSource to use keep a connection for
the duration of a tx, it will do that, and in any case there can be
no deadlock however many connections operate for a given XA transaction.
Here is the best coding form for DAOs or any other user-written code
for using WebLogic DataSources. This is important for two reasons:
1 - Thread-safety is maintained as long as the connection is a
method-level object.
2 - It is crucial to notify WebLogic that you are done with a connection
ASAP, by your calling close() on it. We will then put it back in the
pool, or keep it under the covers for your next request if it's in a
transaction etc. The pool is optimized for quick get-use-close scenarios.
public void one_of_my_main_JDBC_Methods()
Connection con=null; // Must be a method level object for thread-safety
// It will be closed by the end of the method.
try {
con = myDataSource.getConnection(); // Get the connection in the try
// block, directly from the WebLogic
// datasource
// do all the JDBC within this try block. You can pass the
// connection to subordinate methods, but not to anywhere
// that thinks it can use the connection later.
rs.close(); // close any result set asap
stmt.close(); // then close any statement asap
// When you're done with JDBC
con.close(); // close the connection asap
con = null; // nullify it so the finally knows it's done
catch (Exception e) {
// do whatever catch stuff you want. You don't
// need a catch block if you don't want one...
finally {
// It is important to close a JDBC connection ASAP when it's not needed.
// without fail, and regardless of exit path. Do everything in your
// finally block in it's own try-catch-ignore so everything is done.
try { if (con != null) con.close();} catch (Exception ignore){}
return ret;
} -
Transaction management in stateless session beans.
Hi all,
I am using EJB 1.1.
I have a statless session bean that has two methods- A and B.
which does not involve any database interaction
like inserting/updating/deleting the data in the database.
The process flow is such the client always calls A first followed by the call to B.
I have the Transaction attribute set as TX_REQUIRED at the whole bean level.
Now my question is as follows:
Since it is a stateless bean, ejbCreate() is called for every method's invocation.
So does it mean that a new transaction is started for every method invocation?
Also since a transaction ends by commit/rollback.
The transation associated with the method A/B will never get completed as there is no commit/rollback involved in method implementation.
So how is this transaction ended?
Any more details about the transaction management in stateless session beans is highly appreciated.
Any input at the earliest is highly appreciated.
Thanks in advance.Since it is a stateless bean, ejbCreate() is called for every method's invocation.For stateless session bean , Create() is not delegated to the instance.
So does it mean that a new transaction is started for every method invocation?This depends opon the Tx attribute and sequence of calls. Since you have given Tx_required then if you call any method and there is no Tx context associated with client,then a new TX will be started by container othere wise it will execute in the same TX context as the calling client. Note that client can be jsp or other ejb method.
Also since a transaction ends by commit/rollback.
The transation associated with the method A/B will never get completed >as there is no commit/rollback involved in method implementation.
So how is this transaction ended?If you are using COntainer managed TX then Transaction handling like starting , ending etc is handled by the container. You need not worry about that.
Any more details about the transaction management in stateless session >beans is highly appreciated.
Any input at the earliest is highly appreciated.Some time back I had read the article on how the Transaction management done by container on IBM Site. I dont have URL , but you can search the site.
HTH
-Ashwani
Maybe you are looking for
-
Ascending Order of Objects at universe Level
Hi Techies. I am working on BO 3.1 Designer SP5. I have one Period (Month Year) object at universe level and I have arranged the order of object as Descending by editing the properties of the object. and when I use this object in the Query Filter sec
-
Hi folks, Can someone please tell me where I can find the "Links..." menu item in version 2010 and ver. 2013 that is under the EDIT menu, up until MS Project (Standard or Professiona) version 2007 ? Just as a refresher, the Links dialog window has an
-
In MAIL my heading for SAVED ACCOUNT for myself and my husband has completely disappeared with all our saved stuff. How can I retrieve these saved files? thanks for anyone's help.
-
George Jardine kindly invited email responses to his latest fine podcast. I thought I would share with you my words to George: George, I thoroughly enjoyed your latest podcast with the movers and shakers and found the general nature of the conversati
-
How can I record a video of what is going on in my screen?
I've seen tutorials where this is used, but have no idea how to do it. Thanks