Failover of transactions

          Hello,
          What happens if an ejb starts a transaction (trans_id). In the transaction there
          are for example one insert, one update and one delete statements to the database.
          The insert Statament was made and then the Server-Instance crashs. (Worth case
          the machine (Hardware) crash.
          What happens with the open transaction?
          a) we have no tlogs but a server instance on onother machine
          my solution: Lost the transaction! The Database must rolback (Transaction-timeout)
          b) we have the tlogs and we have a new server instance on another machine.
          my solution: we can migrate the tlogs and start the new server instance. And now
          what happens? Where will the server instance startet? At the point where the crash
          happens (after the insert statement)?
          Will the transaction commit or rollback?
          Please give me a feedback of this problem. the documentation is not deep enough
          for us.
          Thanks
          with kinds regards
          Michael
          

If the transaction has not reached commit and the transaction state decided
          (written down to the tlog), the transaction will always be rolled back.
          "Michael Fuhr" <[email protected]> wrote in message news:3f94d2d4$[email protected]..
          >
          > Hello,
          >
          > What happens if an ejb starts a transaction (trans_id). In the transaction there
          > are for example one insert, one update and one delete statements to the database.
          > The insert Statament was made and then the Server-Instance crashs. (Worth case
          > the machine (Hardware) crash.
          >
          > What happens with the open transaction?
          >
          > a) we have no tlogs but a server instance on onother machine
          > my solution: Lost the transaction! The Database must rolback (Transaction-timeout)
          >
          >
          > b) we have the tlogs and we have a new server instance on another machine.
          > my solution: we can migrate the tlogs and start the new server instance. And now
          > what happens? Where will the server instance startet? At the point where the crash
          > happens (after the insert statement)?
          > Will the transaction commit or rollback?
          >
          > Please give me a feedback of this problem. the documentation is not deep enough
          > for us.
          >
          > Thanks
          >
          > with kinds regards
          >
          > Michael
          >
          >
          

Similar Messages

  • Connection failover and transaction failover

    Connection failover and transaction failover
    I need to know more about a behavior in a RAC cluster. When a node goes down that is executing one of my transaction through JDBC , does the connection and transaction failover to a new node without me needing to restart tran or reconnect ?
    Please provide some insight
    Thanks

    Transactions are NOT automatically rolled back. The application must do this otherwise the session will get disconnected.
    If you code TAF, all sessions will failover to the backup connection. You can specify that select statements are automatically re-executed after the failover. Insert/update/delete transactions must be explicitly rolled back and resubmitted by the application.
    IF you are using an ORacle Connection pool, the connection pool will automatically cleanup connections to the failed instance, abort inflight transactions. The application will either retry or it will propagate the error to the end user.
    See the whitepaper on the OTN RAC page (otn.oracle.com/rac) Workload Management with Oracle RAC for more information.

  • Insert,delete,update in oracle Rac11g2

    hi all.
    i am using oracle grid 11g R2,oracle database 11g R2 and oracle Linux Enterprise 5.5.
    i tried to use insert,update and delete in oracle Rac but wihout commit iit did not delete,update and insert in Node2.
    plz can anyone help me that how to insert,delete and update without issuing commit in node1 and perform the action
    on node2 as well?
    Kelly

    Hi Kelly,
    Now I get it, but unfortunately there is no way to do it. TAF can allow only session failover, or query failover (a running query will continue in the other node). But anyway, there is no way to failover a transaction. The transaction will be rolled back automatically (no question or any other option) and the session will get an error. However, the session will be connected to the other node and can continue working or retry the operation.
    HTH
    Liron

  • JavaBeans and EJB Difference

    Hi Experts:
    Can anyone tell me DIFFERENCE between JAVABEANS and ENTERPRISE JAVABEANS? I am a newbie to JavaBean world. How do we know which one to use when?
    Also, any startup BASIC TUTORIAL Link would be appreciated.
    Thanks!

    A javabean is simply a class that, through established conventions, exposes certain elements as standard properties. See http://developer.java.sun.com/developer/onlineTraining/Beans/beans01/ and http://developer.java.sun.com/developer/onlineTraining/Beans/beans02/ for a tutorial. Javabeans are a common part of most java programming.
    An enterprise java bean (EJB) is a heavyweight, transactional, remotable component running in a managed "container." EJB has little or nothing to do with regular javabeans. Use EJBs to build web applications and web services with steep scalability, failover and transactional requirements. See http://www2.theserverside.com/books/masteringEJB/index.jsp for a lengthy and comprehensive tutorial.

  • The options to replicate a secondary read-only copy of a big database with limited network connection?

    There is a big database on remote server. A read-only replicate is required on a local server. The data can only be transferred via FTP, etc. It's ok to replicate it once a day.
    Logshipping is an option. However, it need to kill all the connections when doing restoring. What's the other options (pros/cons)? How about merge repl or .Net sync framework?

    Hi
    ydbn,
    Do you need to update data on the local server and propagate those changes to remote server? If no, you can use log shipping or transaction replication achieve your requirement.  It doesn’t need to kill all the connections if you
    clear the Disconnect users in the database when restoring backups check box when configuring log shipping,
    With transaction replication, the benefits are as follows.
    Synchronization. This method can be used to keep multiple subscribers synchronized in real time.
    Scale out. Transactional replication is excellent for scenarios in which read-only data can be scaled
    out for reporting purposes or to enable e-commerce scalability (such as providing multiple copies of product catalogs).
    There are a few disadvantages of utilizing transaction replication, including:
        • Schema changes/failover. Transactional subscribers require several schema changes that impact foreign keys and impose other constraints.
        • Performance. Large-scale operations or changes at the publisher might require a long time to reach subscribers.
    However, if you need to update data on the local server and propagate those changes to remote server, merge replication
     is more appropriate, and it comes with the following advantages:
        • Multi-master architecture. Merge replication does allow multiple master databases. These databases can manage their own copies of data and marshal those changes as needed between other members of
    a replication topology.
        • Disconnected architecture. Merge replication is natively built to endure periods of no connectivity, meaning that it can send and receive changes after communication is restored.
        • Availability. With effort on the part of the developers, merge-replicated databases can be used to achieve excellent scale-out and redundancy options.
    Merge replication comes with some disadvantages, including:
        • Schema changes. Merge replication requires the existence of a specialized GUID column per replicated table.
        • Complexity. Merge replication needs to address the possibility for conflicts and manage operations between multiple subscribers, which makes it harder to manage. For more details, please review this
    article.
    For the option of sync framework, I would like to recommend you post the question in the Sync Framework forums at
    https://social.msdn.microsoft.com/Forums/en-US/home?category=sync . It is appropriate and more experts will assist you. Also you can check this
    article about introduction to Sync Framework database synchronization.
    Thanks,
    Lydia Zhang
    If you have any feedback on our support, please click
    here.
    Lydia Zhang
    TechNet Community Support

  • Transactional replication from a failover cluster instance to a SQL Server Express DB

    Hello,
    I have been poking around on Google trying to understand if there are any gotchas in configuring transactional replication on a instance DB of a failover cluster, to a SQL Server Express DB. Also, this client would like to replicate a set of tables between
    two instances DB's which both reside on nodes of the cluster.
    Everything I've read suggests there is no problem using transactional replication on clustered instance as long as you use a shared snapshot folder. I still have some concerns:
    1) Should the distributor need to live on a separate instance?
    2) What happens in the event of an automatic, or manual failover of a publisher, especially if the distributor does not need to live on a separate instance? I know that when a failover occurs, all jobs in progress are stopped and this seems like a recipe for
    inconsistency between the publisher and subscriber.
    There is a paramount concern, that this particular client won't have staff on hand to troubleshoot replication if there are problems, hence my hesitancy to implement a solution that relies on it.
    Thanks in advance.

    1) Should the distributor need to live on a separate instance?
    Answer: It is recommended to configure the distributor on the different server, but it also be configured on Publisher/subscriber server. (Subscriber in our case is not possible as its a Express edition)
    2) What happens in the event of an automatic, or manual failover of a publisher, especially if the distributor does not need to live on a separate instance? I know that when a failover occurs, all jobs in progress are stopped and this seems like a recipe for
    inconsistency between the publisher and subscriber. There is a paramount concern, that this particular client won't have staff on hand to troubleshoot replication if there are problems, hence my hesitancy to implement a solution that relies on it.
    Answer: If you configure both publisher and distributor on the same server and the SQL instance is failed over, the data synchronization/replication is suspended till the instance comes online. 
    Once the instance is up,all the replication jobs will start again and it will continue to synchronize the data to subscriber. No manual intervention is required.

  • Testing failover, how to reproduce ORA-24505: transaction status unknown

    Database Version:11.2.0.2 psu 2
    RAC 2-node
    SUSE 11
    Dataguard fast start failover
    During testing of failover to the standby database we had a problem with taf, oracle reported an error 24505, the application trapped the error ignored it and then failed by attempting to re-insert the same data and recieving a primary key violation. My understanding is that this is one of the possible errors when using TAF and the application should trap the error and then determine if the transaction was completed before either replaying the transaction or continuing. We have raised this as a bug withthe application developers, however we need to reliably test for this condition and due to the nature of the problem we can not reliable reproduce the error condition and setting up the system to execute the failover makes repeatedly testing and hoping to encounter the error impractical.
    Is there a method to force this error condition for both possible states? i.e. failover and force an ORA-24505 to be returned with the transaction having completed and also return ORA-24505 withthe transaction having rolledback.
    Chris

    We have arleady raised an SR, I am curious however as to how others test these types of issues as some of the taf errors are very rare.

  • Oracle post failover transaction commit error

    I have a problem on trasaction after database failover.
    Solaris 8, WLS 6.1 sp3, Oracle 8.1.7 (2 Oracle instances, one is primary and
    another is standby), JDK 1.3.1
    We found this problem in Oracle (Net 8 connection time) failover test.
    Here is what we did.
    During the load, we shut down the primary Oracle server (box).
    All in-flight transactions were wrong, this is ok.
    When new requests came in, WebLogic begin to refresh the connections.
    Because the primary Oracle server was down, it took about 70 seconds to
    refresh a connection (due to the socket timeout value) and redirect to the
    standby Oracle. This is fine.
    After a while, all connections were refreshed and all connected to the
    standby serever.
    When I opened WebLogic console to monitor the in-flight transaction, I found
    some transactions are doing committing and never finished.
    At this time most of the transaction can go through but few of them through
    an exception (attached at the end). This error could never gone although the
    frequency was not high. The strange thing is I checked the database, the
    data was committed.
    I've tried Oracle OCI driver and thin driver, both had this problem. Is
    there anyone can help me on that?
    Thanks,
    Wenji
    <Jan 28, 2003 1:49:57 PM EST> <Error> <EJB> <Exception during commit of
    transaction Name=[EJB
    com.bankframe.bp.retail.solutionset.impl.customersearch.CustomerSearchSessio
    nBean.processDataPacket(com.bankframe.bo.DataPacket)],Xid=28502:685f84a9ba5b
    1ed8(192232),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,sec
    onds since begin=122,seconds
    left=60,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assign
    ed=prod-srv2),SCInfo[prod+prod-srv2]=(state=pre-prepared),properties=({weblo
    gic.transaction.name=[EJB
    com.bankframe.bp.retail.solutionset.impl.customersearch.CustomerSearchSessio
    nBean.processDataPacket(com.bankframe.bo.DataPacket)],
    weblogic.jdbc=t3://10.161.46.31:7101}),OwnerTransactionManager=ServerTM[Serv
    erCoordinatorDescriptor=(CoordinatorURL=prod-srv2+10.161.46.31:7101+prod+, R
    esources={})],CoordinatorURL=prod-srv2+10.161.46.31:7101+prod+):
    javax.transaction.SystemException: Timeout during commit processing
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
    nsactionImpl.java:243)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
    Impl.java:189)
    at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:272)
    at

    Wenji Tong wrote:
    Thanks, Joe!
    Things could be more complicate. I did some tests to find the details of the
    problem. Here are the results.Hi,
    This is developing into a bigger problem than I can solve informally in newsgroups,
    so I suggest that you open an official support case with this information.
    Joe
    >
    >
    1. I've done a test. In this test, I shut down the Oracle and also stop the
    load. After all threads and connection returned to the pool and all
    transactions done (roll back or abandoned), I started load again. I still
    could find this error. That means this error is not related to any in-flight
    transactions.
    2. After all connectioin failed over, this error was still not gone. The
    frequency was not high, but it was always there.
    3. In WebLogic console, monitor in-flight transaction, I saw some
    transactions were doing committing, but never finished if there was no load.
    When I saw an error printed in log, one of the committing transaction gone
    but there came out another transaction doing the commit and can't be
    finished. I'm not sure if it was related to WebLogic console's bug.
    4. Increase the transaction timeout can fix this problem. Unfortunately, we
    can't increase the transaction timeout anymore due to our business
    requirements.
    I hope those information will be helpful.
    Thanks,
    Wenji
    "Joseph Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    Wenji Tong wrote:
    I have a problem on trasaction after database failover.
    Solaris 8, WLS 6.1 sp3, Oracle 8.1.7 (2 Oracle instances, one is primary
    and
    another is standby), JDK 1.3.1
    We found this problem in Oracle (Net 8 connection time) failover test.
    Here is what we did.
    During the load, we shut down the primary Oracle server (box).
    All in-flight transactions were wrong, this is ok.
    When new requests came in, WebLogic begin to refresh the connections.
    Because the primary Oracle server was down, it took about 70 seconds to
    refresh a connection (due to the socket timeout value) and redirect tothe
    standby Oracle. This is fine.
    After a while, all connections were refreshed and all connected to the
    standby serever.
    When I opened WebLogic console to monitor the in-flight transaction, Ifound
    some transactions are doing committing and never finished.
    At this time most of the transaction can go through but few of themthrough
    an exception (attached at the end). This error could never gone althoughthe
    frequency was not high. The strange thing is I checked the database, the
    data was committed.
    I've tried Oracle OCI driver and thin driver, both had this problem. Is
    there anyone can help me on that?
    Thanks,
    WenjiHi. It seems that Oracle failover is not perfect. Our transactioncoordinator
    is supposed to have control of the transaction. If a failover occurs while
    a transaction is pending, the coordinator should still have the ability toroll
    back the tx. Apparently there are cases where the failover causes an open
    transaction to be committed, in such a way that even if the coordinatorhas
    decided to roll it back, it can't. These may be when the failover occurswhile
    we are waiting for the commit call to return. We either get an exceptionor
    we get no return from the commit() call so we try to roll back and fail.The
    actual commit succeeded, but we never knew.
    Joe
    <Jan 28, 2003 1:49:57 PM EST> <Error> <EJB> <Exception during commit of
    transaction Name=[EJB
    com.bankframe.bp.retail.solutionset.impl.customersearch.CustomerSearchSessio
    >nBean.processDataPacket(com.bankframe.bo.DataPacket)],Xid=28502:685f84a9ba5b
    >1ed8(192232),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,sec
    onds since begin=122,seconds
    left=60,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=ended,assign
    >ed=prod-srv2),SCInfo[prod+prod-srv2]=(state=pre-prepared),properties=({weblo
    gic.transaction.name=[EJB
    com.bankframe.bp.retail.solutionset.impl.customersearch.CustomerSearchSessio
    nBean.processDataPacket(com.bankframe.bo.DataPacket)],
    weblogic.jdbc=t3://10.161.46.31:7101}),OwnerTransactionManager=ServerTM[Serv
    >erCoordinatorDescriptor=(CoordinatorURL=prod-srv2+10.161.46.31:7101+prod+, R
    esources={})],CoordinatorURL=prod-srv2+10.161.46.31:7101+prod+):
    javax.transaction.SystemException: Timeout during commit processing
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
    nsactionImpl.java:243)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
    Impl.java:189)
    atweblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:272)
    at

  • Transaction Recovery Service failover

    Can anyone explain what the suggested configuration is for the default persistence store? In particular, this is to ensure the proper failover / migration of the Transaction Recovery Service which is required to use the Default Persistence Store which is file based. Based on the following statement from the docs:
    Preparing to Migrate the Transaction Recovery Service
    To migrate the Transaction Recovery Service from a failed server in a cluster to another server (backup server) in the same cluster, the backup server must have access to the transaction log records from the failed server. Therefore, you must store default persistent store data files on persistent storage available to all potential backup servers in the cluster. Oracle recommends that you store transaction log records on a Storage Area Network (SAN) device or a dual-ported disk. Do not use an NFS file system to store transaction log records. Because of the caching scheme in NFS, files on disk may not always be current. Using transaction log records stored on an NFS device for recovery may cause data corruption.
    A SAN storage device is recommended for this but my understanding is that the SAN can only be mounted by one machine at a time. Does this imply then that our failover process needs to include mounting the SAN before starting the failover server (as part of the whole server migration)? The docs here (http://download.oracle.com/docs/cd/E15523_01/core.1111/e12036/net.htm#CIHBDDAA) indicate that a NAS can be used and even give examples of configuring it using NFS mount points:
    The following commands show how to share the SOA TX logs location across different nodes:
    SOAHOST1> mount nasfiler:/vol/vol1/u01/app/oracle/stores/soadomain/soa_cluster/tlogs
    +/u01/app/oracle/stores/soadomain/soa_cluster/tlogs -t nfs+
    SOAHOST2> nasfiler:/vol/vol1/u01/app/oracle/stores/soadomain/soa_cluster/tlogs
    +/u01/app/oracle/stores/soadomain/soa_cluster/tlogs -t nfs+
    Can anyone describe a best-practices approach for how to configure the expected persistent storage solution that will work with proper failover of the transaction recovery service?
    Thanks!
    Gary

    have a look at this article and see if it helps.
    http://el-caro.blogspot.com/2008/11/parallel-rollback.html

  • Ora9i physical stby db failover-recover to the last committed transaction

    Example: The primary db is not accessible. But we can still access the archived and online redo log files (physically in OS).
    How to recover to the last committed transaction (on primary db) while we do failover on standby?
    I just able to recover to the last transaction in the last archived redo log.

    912030 wrote:
    The database is not available, but I can still copy all archived redo log & online redo log files from primary db to standby db physically by OS command.
    I register and apply all archived log files to my standby db before perform failover.
    SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
    But I just able to recover to the last transaction in the last archived redo log, not the last commited transaction in (current) online redo logs in primary db before it breaks down.You can copy & apply all the archive log files, If you want to apply even current redo log file use below command
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
    Check in detail http://docs.oracle.com/cd/B28359_01/server.111/b28294/log_apply.htm
    Hope that file is not corrupted, But before that create a restore point for safe side if any recover issues you can flashback to that point.
    Until you have archive logs if you applied safely you can open database by performing failover.
    If you apply using Redo log files, it may cause some consistency.
    Or perform until TIME based recover as
    SQL> recover automatic standby database until time '2011-11-17 14:00:00';
    Check this link as well
    http://laurentschneider.com/wordpress/2011/11/failover-to-standby-with-a-delay-until-time.html
    HTH.

  • Event Loop in SO and failover

    Hi, All Forte Experts
    I have 2 questions:
    1. Would any one tell me where can I put the event loop block in a
    Service Object?
    I tried to put it in the Init to get a timer.tick event, but the SO
    hanged to wait there.
    How can I do this to let the SO do something at certain time?
    2. I have SO doing failover. Can one sleeping SO get any kind of
    information when it becomes alive
    after the running SO dies?
    Thanks a lot for your help.
    Alex
    Carpe Diem, Seize the Day !
    Alex Lee (Li Zhongling)
    Forte, Java/CORBA Group
    International Business Corporation
    Bangalore 560010, India
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    Thank you all a lot for your help.
    For the second question, I explain the situation here. I have a failover
    LockManager SO which contains a LockList. When the first running SO dies, I
    want the second one to become alive and restore the state of the first one( I
    mean the LockList should not be lost). Then I tried to do it in this way:
    1. As Daniel Nguyen suggested in Re:Retaining state on failover of SO
    (Jan.19,1999), I put one shared object holding one Locklist on the Router
    partition. Let the running SO always refresh its contents.
    2. I make the SO Transactionaln with Transaction Dialog Duration. On the
    client, every time I start a transaction to add or remove lock through SO, I
    try to catch the exception "AbortException" (which means the SO dies). To
    handle the exception, I use Releaseconnection, then force the backup SO get the
    locklist from the shared object on Router partition. In this way, the backup SO
    becomes alive and also restore the state.
    I think this works. I will also try your suggestion ASAP. However, would you
    please tell me how to control the secondary SO not to start and later to start
    it? Every time I try to run the app, all the partition will start. And I guess,
    I can not new it.
    Thanks.
    Rds
    Alex
    Alex,
    1) as Arpad mentioned in his posting, you can start task a method which
    contains your event loop from the init method.
    as for
    2), what I've done in the past is to start both primary and secondary SOs,
    where the primary SO's event loop begins at start up, but the secondary SO
    is dormant.. I created a "monitoring" SO which listens for remote access
    exceptions (or distributed access exceptions) and on the death of the first
    SO, the second SO's event loop is started. The other option is to not start
    the secondary SO until the primary one fails, but there is a lag time for
    the SO to come up.
    j
    Carpe Diem, Seize the Day !
    Alex Lee (Li Zhongling)
    Forte, Java/CORBA Group
    International Business Corporation
    Bangalore 560010, India
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Task Flow Transaction Behavior and AM Activation/Passivation

    Hi All,
    In my app, when I changed the transaction behavior from 'No Controller Transaction' to 'Use Existing Transaction If Possible', I started seeing the following type of AM Passivation snapshot is JDev log:
    <ADFLogger> <begin> Passivating Application Module
    <PCollManager> <resolveName> [3560] **PCollManager.resolveName** tabName=PS_TXN
    <DBTransactionImpl> <getInternalConnection> [3561] Getting a connection for internal use...
    <DBTransactionImpl> <getInternalConnection> [3562] Creating internal connection...
    <ADFLogger> <begin> Establish database connection
    <DBTransactionImpl> <establishNewConnection> [3563] Trying connection: DataSource='weblogic.jdbc.common.internal.RmiDataSource@4d0ca0'...
    <DBTransactionImpl> <establishNewConnection> [3564] Before getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <DBTransactionImpl> <establishNewConnection> [3565] After getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <ADFLogger> <addContextData> Establish database connection
    <ADFLogger> <end> Establish database connection
    <OraclePersistManager> <syncSequenceIncrementSize> [3566] **syncSequenceIncrementSize** altered sequence 'increment by' value to 50
    <ViewObjectImpl> <doPassivateSettings> [3567] DateTimeVO1 passivating with paramsChanged
    <Serializer> <passivate> [3568] <AM MomVer="0">
    <cd/>
    <TXN Def="1" New="0" Lok="2" tsi="0" pcid="40"/>
    <CONN/>
    <VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingMainVO" Name="BaseRoutingMainVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingDetailsVO" Name="BaseRoutingDetailsVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseParameterVO" Name="BaseParameterVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseErrorLookupVO" Name="BaseErrorLookupVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataHdrVO" Name="BaseCompDataHdrVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataDtlVO" Name="BaseCompDataDtlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseDataReqValVO" Name="BaseDataReqValVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRegistrationPointVO" Name="BaseRegistrationPointVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrInfoVO" Name="BaseTradingPrtnrInfoVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrVerCtrlVO" Name="BaseTradingPrtnrVerCtrlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseNotificationVO" Name="BaseNotificationVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTransactionDefVO" Name="BaseTransactionDefVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseValidationTypeVO" Name="BaseValidationTypeVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.OrigTransDetailsVO" Name="OrigTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransErrorVO" Name="TransErrorVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DateTimeVO" Name="DateTimeVO1">
    <exArgs count="1">
    <arg name="TimeZone">
    <![CDATA[GMT]]>
    </arg>
    </exArgs>
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT CurrentTime FROM
    SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'GMT' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE+5.5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'IST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-8/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'PST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-6/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'CST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'EST' AS TZ FROM DUAL
    WHERE TZ=:TimeZone) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[0000000000010000013239013AC4]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransTrackingVO" Name="TransTrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransDependencyVO" Name="TransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO2">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransDetailsVO" Name="ReceiverTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransIDBaseVO" Name="TransIDBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (select 1 AS transaction_record_id from DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[000100000002C102]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransKeyBaseVO" Name="TransKeyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS document_key FROM dual) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransStatusBaseVO" Name="TransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorTypeBaseVO" Name="ErrorTypeBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS ERROR_TYPE FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyBaseVO" Name="DependencyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS DEPENDENCY FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.MasterTransDependencyVO" Name="MasterTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TrackingVO" Name="TrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorVO" Name="ErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransErrorVO" Name="DashboardTransErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransDependencyVO" Name="DashboardTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransPieVO" Name="DashboardTransPieVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardMasterTransBarVO" Name="DashboardMasterTransBarVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusBaseVO" Name="ReceiverTransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorStatusBaseVO" Name="ErrorStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS ERROR_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderVO" Name="HeaderVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO3"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderStatusBaseVO" Name="HeaderStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO4"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameBaseVO" Name="HeaderSourceFileNameBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS SOURCE_FILE_NAME FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyStatusBaseVO" Name="DependencyStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS DEPENDENCY_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216382156" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderSourceFileNameBaseVO_HeaderSourceFileNameLOVVO1"/>
    <VO sig="1315216384812" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ReceiverTransStatusBaseVO_ReceiverTransStatusLOVVO1"/>
    <VO sig="1315216385921" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderStatusBaseVO_HeaderStatusLOVVO1"/>
    <VO sig="1315216387093" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ErrorStatusBaseVO_ErrorStatusLOVVO1"/>
    <VO sig="1315216388171" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DependencyStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_DependencyStatusBaseVO_DependencyStatusLOVVO1"/>
    <VO sig="1315216393937" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransIDLovVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_TransIDBaseVO_TransIDLovVO1">
    <VC n="__ImplicitViewCriteria__" d="true" c="0" bv="true" m="1" j="false">
    <vcp>
    <p n="showInList" v="true"/>
    <p n="displayName" v="Implicit Search"/>
    </vcp>
    <Row n="vcrow1" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    <a i="1">
    <i o="STARTSWITH" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    </Row>
    </VC>
    <VC n="LOV_TransactionRecordId__lov__filterlist__vcr___" d="true" c="0" bv="true" m="3" j="false">
    <Row n="LOV_TransactionRecordId__lov__filterlist__vcr___" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0">
    <![CDATA[40532]]>
    </iv>
    </i>
    </a>
    </Row>
    </VC>
    </VO>
    </VO>
    </AM>
    <OraclePersistManager> <insert> [3569] **insert** id=1, parid=-1, collid=65951, keyArr.len=-1, cont.len=10035
    <OraclePersistManager> <insert> [3570] stmt: insert into "PS_TXN" values (:1, :2, :3, :4, sysdate)
    <OraclePersistManager> <commit> [3571] **commit** #pending ops=1
    <ADFLogger> <end> Passivating Application Module
    My question is does AM gets passivated on each request. This snapshot is not visible when Transaction behavior is set to 'No Controller Transaction'.
    This type is snapshot is usually visible in case of 'No Controller Transaction', when AM Pooling is off or if AM Pooling is enabled then Failover support is on.
    Is this OK for this snapshot to appear in JDev log or am I missing something?

    this might be helpful, can u chk
    The subtle use of task flow "No Controller Transaction" behavior
    http://blogs.oracle.com/raghuyadav/entry/adf_taskflow_transaction_manag
    http://andrejusb.blogspot.com/2010/01/demystifying-adf-bc-passivation-and.html

  • Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned

    Hello guys,
    I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
    In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
    The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
    me out.
    I hope you guys can help me to find a way to solve it.
    - I tried different version of the jdbc driver 3.0 and 4.0.
    - I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
    The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
    for SQLXAUser), I am quite sure because it was running for one month without any problem.
    I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
    Also I tried this link out but did not help me.
    <a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
    The exception is the following:
     [2014-05-15 14:06:08,842] INFO  3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
    [2014-05-15 14:06:08,951] INFO  3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
    [2014-05-15 14:06:10,324] INFO  5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
    [2014-05-15 14:06:12,742] WARN  7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.
    [2014-05-15 14:06:13,288] WARN  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
    [2014-05-15 14:06:13,288]ERROR  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
    usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
    [2014-05-15 14:06:13,319]ERROR  8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
    org.hibernate.exception.GenericJDBCException: could not execute query
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.mortbay.start.Main.invokeMain(Main.java:194)
        at org.mortbay.start.Main.start(Main.java:534)
        at org.mortbay.start.Main.start(Main.java:441)
        at org.mortbay.start.Main.main(Main.java:119)
    Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2235)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
        at org.hibernate.loader.Loader.list(Loader.java:2124)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
        at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
        at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
        at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
        at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
        ... 33 more
    Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
        at $Proxy29.prepareStatement(Unknown Source)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
        at org.hibernate.loader.Loader.doQuery(Loader.java:696)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2232)
        ... 52 more
    Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
    error=XAER_RMERR
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
        at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
        ... 66 more
    <b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
        at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
        at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
        ... 68 more
    I think the "bold" exception is the key.
    Also the configuration file of my jetty server.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    <!-- developpment jetty configuration -->
    <!-- launch with main class : org.mortbay.start.Main app arguments:
    deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
    -DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
    <Configure id="Server" class="org.mortbay.jetty.Server">
    <Array id="plusConfig" type="java.lang.String">
    <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
    <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
    <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
    </Array>
    <Array id="serverClasses" type="java.lang.String">
    </Array>
    <Array id="systemClasses" type="java.lang.String">
    </Array>
    <!-- web apps -->
    <Set name="handler">
    <New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
    <Set name="handlers">
    <Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
    <!-- wrapper server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
    <Arg>/myscript-form-wrapper-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- form server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-form-server.war
    </Arg>
    <Arg>/myscript-form-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- hwr server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
    <Arg>/myscript-form-hwr-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    </Array>
    </Set>
    </New>
    </Set>
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    </New>
    </Arg>
    </Call>
    <!-- Use the jdk 1.5 platformMBeanServer -->
    <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
    name="getPlatformMBeanServer" />
    <Get id="Container" name="container">
    <Call name="addEventListener">
    <Arg>
    <New class="org.mortbay.management.MBeanContainer">
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </New>
    </Arg>
    </Call>
    </Get>
    <!-- Setup the RMIRegistry on a specific port -->
    <Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
    name="createRegistry">
    <Arg type="int">2099</Arg>
    </Call>
    <!-- Setup the JMXConnectorServer on a specific rmi server port -->
    <Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
    name="newJMXConnectorServer">
    <Arg>
    <New class="javax.management.remote.JMXServiceURL">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    </Arg>
    <Arg />
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </Call>
    <!--************************* -->
    <!-- embbeded ActiveMQ Broker -->
    <!--************************* -->
    <New id="brokerService" class="org.apache.activemq.broker.BrokerService">
    <Set name="brokerName">fppBrokerActiveMQ</Set>
    <Set name="dataDirectoryFile"></Set>
    <Call name="getSystemUsage">
    <Call name="getMemoryUsage">
    <Set name="limit">26428800</Set>
    </Call>
    <Call name="getStoreUsage">
    <Set name="limit">204857600</Set>
    </Call>
    </Call>
    <Call name="addConnector">
    <Arg>nio://localhost:61615</Arg>
    </Call>
    <Call name="start"></Call>
    </New>
    <!-- ************************** -->
    <!-- common fpp jndi resources -->
    <!-- ************************** -->
    <!-- ui debug properties -->
    <New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.common-ui.velocityProperties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
    </Put>
    <Put name="spring.resource.loader.cache">false</Put>
    <Put name="velocimacro.library.autoreload">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.wrapper-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
    </Put>
    <Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
    </Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    </New>
    </Arg>
    </New>
    <!-- transaction manager - bitronix -->
    <Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
    <Set name="serverId">jetty-fpp-server</Set>
    <Set name="gracefulShutdownInterval">45</Set>
    <Set name="logPart1Filename">btm/btm1.tlog</Set>
    <Set name="logPart2Filename">btm/btm2.tlog</Set>
    </Call>
    <Set name="gracefulShutdown">60000</Set>
    <Call name="addLifeCycle">
    <Arg>
    <New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
    </Arg>
    </Call>
    <New class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/UserTransaction</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <!-- database data source -->
    <New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
    <Set name="uniqueName">fppDataSource</Set>
    <Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
    <Set name="minPoolSize">0</Set>
    <Set name="maxPoolSize">50</Set>
    <Get name="driverProperties">
    <Put name="serverName">DYHVDB01</Put>
    <Put name="instanceName">ALPHA</Put>
    <Put name="integratedSecurity">false</Put>
    <Put name="databaseName">tdb_digipen_fpp</Put>
    <Put name="user">manage_digipen</Put>
    <Put name="password">5T1fte?</Put>
    <!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
    </Get>
    <Call name="init" />
    </New>
    <!-- Jms connection factories -->
    <New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
    <Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
    <Set name="uniqueName">fppServerConnectionFactory</Set>
    <Set name="minPoolSize">4</Set>
    <Set name="maxPoolSize">40</Set>
    <Set name="allowLocalTransactions">true</Set>
    <Get name="driverProperties">
    <Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Get>
    <Call name="init" />
    </New>
    <!-- JMS Queues & topics -->
    <New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/formNotifiationTopic</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQTopic">
    <Arg>formNotifiationTopic</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldNotifJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldNotifJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/inkJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>inkJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <!-- native library services -->
    <New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptLicenseService</Arg>
    <Arg>
    <New
    class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
    <Arg>localhost</Arg>
    </New>
    </Arg>
    </New>
    <!-- *********************** -->
    <!-- form server properties -->
    <!-- *********************** -->
    <New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.form.defaultEnvironmentName">default</Put>
    <Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
    <Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
    <Put name="fpp.form.field.notif.nbconsumers">2</Put>
    <Put name="fpp.form.ink.nbconsumers">2</Put>
    <Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
    <Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
    <Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
    <Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
    <Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
    </Put>
    <Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
    <Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
    <!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
    separated by white space. Fields can contain any of the allowed values, along
    with various combinations of the allowed special characters for that field.
    The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
    Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
    , - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
    * / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
    , - * / -->
    <Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
    <Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.purge.instances.defaultcase">365</Put>
    <Put name="fpp.form.purge.instances.case1">10</Put>
    <Put name="fpp.form.purge.instances.case2">60</Put>
    <Put name="fpp.form.purge.instances.case3">100</Put>
    <Put name="fpp.form.purge.instances.case4">30</Put>
    <Put name="fpp.form.purge.instances.case5">60</Put>
    <Put name="fpp.form.export.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.export.exportpath">C:\FPP</Put>
    <Put name="fpp.form.export.exportMode">REGULAR</Put>
    <Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
    <Put name="fpp.form.export.addInformations">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppFormDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource"></Ref>
    </Arg>
    </New>
    <New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppJbpmDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource" />
    </Arg>
    </New>
    <New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formJmsTopicConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- HWR SERVER -->
    <New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.hwr-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
    <Put name="fpp.hwr-server.fieldConsumers">4</Put>
    <Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
    <Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
    <Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
    <Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
    <Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
    <Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put
    name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
    </New>
    </Arg>
    </New>
    <New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptHwrService</Arg>
    <Arg>
    <New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
    <Set name="handwritingContextUserLimit">50</Set>
    <Set name="resourceUserLimit">0</Set>
    <Set name="otherObjectUserLimit">500</Set>
    <Call name="doStart" />
    </New>
    </Arg>
    </New>
    <New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- wrapper -->
    <New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <Set name="brokerURL">nio://localhost:61615</Set>
    <Set name="redeliveryPolicy">
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Set>
    </New>
    <New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formNotificationConsumerFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <!-- JMX/SENSORS -->
    <New id="inkJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="inkJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
    </Arg>
    </New>
    <New id="fieldJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
    </Arg>
    </New>
    <New id="formNotifiationTopicUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="formNotifiationTopicObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
    </Arg>
    </New>
    <New id="server.list" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="WRP">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8081</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="FORM">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8080</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="HWR">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8083</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    </New>
    <New id="fpp.form.jmx.properties" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="inkJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="inkJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="inkJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="inkJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="inkJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    <!--FieldNotifJmsQueue -->
    <Put name="fieldNotifJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    </New>
    <New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.ui.parameters</Arg>
    <Arg>
    <New
    class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
    <Set name="jmxProperties">
    <Ref id="fpp.form.jmx.properties"></Ref>
    </Set>
    <Set name="serverList">
    <Ref id="server.list"></Ref>
    </Set>
    </New>
    </Arg>
    </New>
    </Configure>
    Thanks so much in advance.
     

    Hello guys,
    I have been setting a production system with bitronix transaction manager, SQL server 2008, XA transactions and jetty 6. In the beginning this software was configured to run with MySQL. But one of my customer decided to move everything to MSSQL server 2008.
    In that moment I was trying to get this up and running for some weeks (The configuration was completely different) and finally I got it.
    The configuration with MSSQL server was running perfectly during 1 month but then from one day to other the error message I will show now appeared and I do not how to solve it. I almost read all the hints from google about this exception but nothing helped
    me out.
    I hope you guys can help me to find a way to solve it.
    - I tried different version of the jdbc driver 3.0 and 4.0.
    - I tried to export exactly the database to my localserver and it's running perfectly with the same configuration.
    The problem is that I cannot reproduce the error in other place that is not the customer and at the same time I have no access to their internal database server. They installed all the XA transaction stuff (dll in binn, enable XA, and grant the permissions
    for SQLXAUser), I am quite sure because it was running for one month without any problem.
    I asked to the customer if anything happenend on their server (microsoft updates, machines reboot, ...) but nothing of these happened.
    Also I tried this link out but did not help me.
    <a href="http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess">http://social.msdn.microsoft.com/Forums/sqlserver/en-US/15c1e6f5-ec1e-4376-8f45-25e61ffc1306/the-function-start-has-failed-no-transaction-cookie-was-returned?forum=sqldataaccess</a>
    The exception is the following:
     [2014-05-15 14:06:08,842] INFO  3666[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Starting Bitronix Transaction Manager
    [2014-05-15 14:06:08,951] INFO  3775[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - Extract ./webapps/myscript-fpp-wrapper-server.war to D:\Temp\Jetty_0_0_0_0_8080_myscript.fpp.wrapper.server.war__myscript.form.wrapper.server__.bnwnn7\webapp
    [2014-05-15 14:06:10,324] INFO  5148[main] - org.mortbay.log.Slf4jLog.info(Slf4jLog.java:67) - NO JSP Support for /myscript-form-wrapper-server, did not find org.apache.jasper.servlet.JspServlet
    [2014-05-15 14:06:12,742] WARN  7566[main] - org.dozer.config.GlobalSettings.loadGlobalSettings(GlobalSettings.java:118) - Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.
    [2014-05-15 14:06:13,288] WARN  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) - SQL Error: 0, SQLState: null
    [2014-05-15 14:06:13,288]ERROR  8112[main] - org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101) - error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with
    usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
    [2014-05-15 14:06:13,319]ERROR  8143[main] - org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:220) - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'moduleRegistration' defined in class path resource [com/visionobjects/myscript/fpp/wrapper/module-registration.xml]: Invocation of init method failed; nested exception is
    org.hibernate.exception.GenericJDBCException: could not execute query
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
        at org.mortbay.jetty.Server.doStart(Server.java:224)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
        at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.mortbay.start.Main.invokeMain(Main.java:194)
        at org.mortbay.start.Main.start(Main.java:534)
        at org.mortbay.start.Main.start(Main.java:441)
        at org.mortbay.start.Main.main(Main.java:119)
    Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
        at org.hibernate.loader.Loader.doList(Loader.java:2235)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
        at org.hibernate.loader.Loader.list(Loader.java:2124)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at com.visionobjects.myscript.fpp.form.dao.impl.ModuleInfoDaoImpl.getModuleInfo(ModuleInfoDaoImpl.java:57)
        at com.visionobjects.myscript.fpp.ModuleRegistration$1.doInTransactionWithoutResult(ModuleRegistration.java:73)
        at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
        at com.visionobjects.myscript.fpp.ModuleRegistration.init(ModuleRegistration.java:66)
        at com.visionobjects.myscript.fpp.ModuleRegistration.start(ModuleRegistration.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
        ... 33 more
    Caused by: java.sql.SQLException: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource fppDataSource in state ACCESSIBLE with usage count 1 wrapping SQLServerXAConnection:1 on  ProxyConnectionID:1
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:86)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(JdbcConnectionHandle.java:243)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
        at $Proxy29.prepareStatement(Unknown Source)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
        at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1577)
        at org.hibernate.loader.Loader.doQuery(Loader.java:696)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2232)
        ... 52 more
    Caused by: bitronix.tm.internal.BitronixSystemException: cannot enlist an XAResourceHolderState with uniqueName=fppDataSource XAResource= XAResourceID:1 with XID a Bitronix XID [6A657474792D6670702D73657276657200000145FFC68B9B00000000 : 6A657474792D6670702D73657276657200000145FFC68BCA00000002],
    error=XAER_RMERR
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:100)
        at bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(TransactionContextHelper.java:70)
        at bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(JdbcConnectionHandle.java:84)
        ... 66 more
    <b>Caused by: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: The function START: has failed. No transaction cookie was returned </b>
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:642)
        at com.microsoft.sqlserver.jdbc.SQLServerXAResource.start(SQLServerXAResource.java:674)
        at bitronix.tm.internal.XAResourceHolderState.start(XAResourceHolderState.java:211)
        at bitronix.tm.internal.XAResourceManager.enlist(XAResourceManager.java:108)
        at bitronix.tm.BitronixTransaction.enlistResource(BitronixTransaction.java:93)
        ... 68 more
    I think the "bold" exception is the key.
    Also the configuration file of my jetty server.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
    <!-- developpment jetty configuration -->
    <!-- launch with main class : org.mortbay.start.Main app arguments:
    deploy-conf/jetty-conf/mysql/jetty-dev.xml vm arguments : -Xmx1024M -DSTOP.KEY=stop
    -DSTOP.PORT=6669 to stop : - - stop -Xmx1024M -DSTOP.KEY=stop -DSTOP.PORT=6669 -->
    <Configure id="Server" class="org.mortbay.jetty.Server">
    <Array id="plusConfig" type="java.lang.String">
    <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
    <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
    <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
    <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
    </Array>
    <Array id="serverClasses" type="java.lang.String">
    </Array>
    <Array id="systemClasses" type="java.lang.String">
    </Array>
    <!-- web apps -->
    <Set name="handler">
    <New id="handlerContext" class="org.mortbay.jetty.handler.ContextHandlerCollection">
    <Set name="handlers">
    <Array id="handlerArray" type="org.mortbay.jetty.webapp.WebAppContext">
    <!-- wrapper server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-wrapper-server.war</Arg>
    <Arg>/myscript-form-wrapper-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- form server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-form-server.war
    </Arg>
    <Arg>/myscript-form-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    <!-- hwr server -->
    <Item>
    <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg>./webapps/myscript-fpp-hwr-server.war</Arg>
    <Arg>/myscript-form-hwr-server</Arg>
    <Set name="serverClasses">
    <Ref id="serverClasses" />
    </Set>
    <Set name="ConfigurationClasses">
    <Ref id="plusConfig" />
    </Set>
    </New>
    </Item>
    </Array>
    </Set>
    </New>
    </Set>
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="port">8080</Set>
    </New>
    </Arg>
    </Call>
    <!-- Use the jdk 1.5 platformMBeanServer -->
    <Call id="MBeanServer" class="java.lang.management.ManagementFactory"
    name="getPlatformMBeanServer" />
    <Get id="Container" name="container">
    <Call name="addEventListener">
    <Arg>
    <New class="org.mortbay.management.MBeanContainer">
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </New>
    </Arg>
    </Call>
    </Get>
    <!-- Setup the RMIRegistry on a specific port -->
    <Call id="rmiRegistry" class="java.rmi.registry.LocateRegistry"
    name="createRegistry">
    <Arg type="int">2099</Arg>
    </Call>
    <!-- Setup the JMXConnectorServer on a specific rmi server port -->
    <Call id="jmxConnectorServer" class="javax.management.remote.JMXConnectorServerFactory"
    name="newJMXConnectorServer">
    <Arg>
    <New class="javax.management.remote.JMXServiceURL">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    </Arg>
    <Arg />
    <Arg>
    <Ref id="MBeanServer" />
    </Arg>
    <Call name="start" />
    </Call>
    <!--************************* -->
    <!-- embbeded ActiveMQ Broker -->
    <!--************************* -->
    <New id="brokerService" class="org.apache.activemq.broker.BrokerService">
    <Set name="brokerName">fppBrokerActiveMQ</Set>
    <Set name="dataDirectoryFile"></Set>
    <Call name="getSystemUsage">
    <Call name="getMemoryUsage">
    <Set name="limit">26428800</Set>
    </Call>
    <Call name="getStoreUsage">
    <Set name="limit">204857600</Set>
    </Call>
    </Call>
    <Call name="addConnector">
    <Arg>nio://localhost:61615</Arg>
    </Call>
    <Call name="start"></Call>
    </New>
    <!-- ************************** -->
    <!-- common fpp jndi resources -->
    <!-- ************************** -->
    <!-- ui debug properties -->
    <New id="fpp.common-ui.velocityProperties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.common-ui.velocityProperties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="spring.resource.loader.class">org.springframework.ui.velocity.SpringResourceLoader
    </Put>
    <Put name="spring.resource.loader.cache">false</Put>
    <Put name="velocimacro.library.autoreload">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fpp.wrapper-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.wrapper-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.wrapper-server.instanceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/instance?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/form?wsdl
    </Put>
    <Put name="fpp.wrapper-server.formDeprecatedServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/formDeprecated?wsdl
    </Put>
    <Put name="fpp.wrapper-server.hwrResourceServiceWsdlLocation">http://localhost:8080/myscript-form-server/cxf/hwrResource?wsdl
    </Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentName">default</Put>
    <Put name="fpp.wrapper-server.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.wrapper-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.wrapper-server.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    </New>
    </Arg>
    </New>
    <!-- transaction manager - bitronix -->
    <Call name="getConfiguration" class="bitronix.tm.TransactionManagerServices">
    <Set name="serverId">jetty-fpp-server</Set>
    <Set name="gracefulShutdownInterval">45</Set>
    <Set name="logPart1Filename">btm/btm1.tlog</Set>
    <Set name="logPart2Filename">btm/btm2.tlog</Set>
    </Call>
    <Set name="gracefulShutdown">60000</Set>
    <Call name="addLifeCycle">
    <Arg>
    <New class="bitronix.tm.integration.jetty6.BTMLifeCycle" />
    </Arg>
    </Call>
    <New class="org.mortbay.jetty.plus.naming.Transaction">
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/TransactionManager</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <New id="userTransactionManager" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>java:comp/UserTransaction</Arg>
    <Arg>
    <Call name="getTransactionManager" class="bitronix.tm.TransactionManagerServices" />
    </Arg>
    </New>
    <!-- database data source -->
    <New id="fppDataSource" class="bitronix.tm.resource.jdbc.PoolingDataSource">
    <Set name="uniqueName">fppDataSource</Set>
    <Set name="className">com.microsoft.sqlserver.jdbc.SQLServerXADataSource</Set>
    <Set name="minPoolSize">0</Set>
    <Set name="maxPoolSize">50</Set>
    <Get name="driverProperties">
    <Put name="serverName">DYHVDB01</Put>
    <Put name="instanceName">ALPHA</Put>
    <Put name="integratedSecurity">false</Put>
    <Put name="databaseName">tdb_digipen_fpp</Put>
    <Put name="user">manage_digipen</Put>
    <Put name="password">5T1fte?</Put>
    <!--Needed to test??<Put name="pinGlobalTxToPhysicalConnection">true</Put>-->
    </Get>
    <Call name="init" />
    </New>
    <!-- Jms connection factories -->
    <New id="fppServerConnectionFactory" class="bitronix.tm.resource.jms.PoolingConnectionFactory">
    <Set name="className">org.apache.activemq.ActiveMQXAConnectionFactory</Set>
    <Set name="uniqueName">fppServerConnectionFactory</Set>
    <Set name="minPoolSize">4</Set>
    <Set name="maxPoolSize">40</Set>
    <Set name="allowLocalTransactions">true</Set>
    <Get name="driverProperties">
    <Put name="brokerURL">nio://localhost:61615?jms.prefetchPolicy.all=50</Put>
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Get>
    <Call name="init" />
    </New>
    <!-- JMS Queues & topics -->
    <New id="formNotifiationTopic" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/formNotifiationTopic</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQTopic">
    <Arg>formNotifiationTopic</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="fieldNotifJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/fieldNotifJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>fieldNotifJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <New id="inkJmsQueue" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>fpp/inkJmsQueue</Arg>
    <Arg>
    <New class="org.apache.activemq.command.ActiveMQQueue">
    <Arg>inkJmsQueue</Arg>
    </New>
    </Arg>
    </New>
    <!-- native library services -->
    <New id="myscriptLicenseService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptLicenseService</Arg>
    <Arg>
    <New
    class="com.visionobjects.licensemanager.impl.MyscriptLicenseServiceImpl">
    <Arg>localhost</Arg>
    </New>
    </Arg>
    </New>
    <!-- *********************** -->
    <!-- form server properties -->
    <!-- *********************** -->
    <New id="fpp.form.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.form.defaultEnvironmentName">default</Put>
    <Put name="fpp.form.defaultEnvironmentType">STANDARD</Put>
    <Put name="fpp.form.jbpm.job.nbexecutor">4</Put>
    <Put name="fpp.form.jbpm.job.idleinterval">1000</Put>
    <Put name="fpp.form.field.notif.nbconsumers">2</Put>
    <Put name="fpp.form.ink.nbconsumers">2</Put>
    <Put name="fpp.form.instance.instanceValidationMode">STANDARD</Put>
    <Put name="fpp.form.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <!--<Put name="fpp.form.formdb.hibernate.show_sql">true</Put>-->
    <Put name="fpp.form.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.formdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.jbpmdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.form.jbpmdb.hibernate.show_sql">true</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put name="fpp.form.jbpmdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup
    </Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_query_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_second_level_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.use_structured_cache">false</Put>
    <Put name="fpp.form.jbpmdb.hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</Put>
    <Put name="fpp.form.scheduler.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</Put>
    <Put name="fpp.form.scheduler.dataSource.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</Put>
    <Put name="fpp.form.scheduler.dataSource.URL">jdbc:sqlserver://DYHVDB01\ALPHA;DatabaseName=tdb_digipen_fpp;integratedSecurity=false
    </Put>
    <Put name="fpp.form.scheduler.dataSource.user">manage_digipen</Put>
    <Put name="fpp.form.scheduler.dataSource.password">5T1fte?</Put>
    <!-- Cron Format A cron expression is a string comprised of 6 or 7 fields
    separated by white space. Fields can contain any of the allowed values, along
    with various combinations of the allowed special characters for that field.
    The fields are as follows: Field Name Mandatory Allowed Values Allowed Special
    Characters Seconds YES 0-59 , - * / Minutes YES 0-59 , - * / Hours YES 0-23
    , - * / Day of month YES 1-31 , - * ? / L W Month YES 1-12 or JAN-DEC , -
    * / Day of week YES 1-7 or SUN-SAT , - * ? / L # Year NO empty, 1970-2099
    , - * / -->
    <Put name="fpp.form.purge.moduleinfo.cron">0 0/1 * * * ?</Put>
    <Put name="fpp.form.purge.instances.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.purge.instances.defaultcase">365</Put>
    <Put name="fpp.form.purge.instances.case1">10</Put>
    <Put name="fpp.form.purge.instances.case2">60</Put>
    <Put name="fpp.form.purge.instances.case3">100</Put>
    <Put name="fpp.form.purge.instances.case4">30</Put>
    <Put name="fpp.form.purge.instances.case5">60</Put>
    <Put name="fpp.form.export.cron">0 0 * * * ?</Put>
    <Put name="fpp.form.export.exportpath">C:\FPP</Put>
    <Put name="fpp.form.export.exportMode">REGULAR</Put>
    <Put name="fpp.form.export.buildingType">INCREMENTAL</Put>
    <Put name="fpp.form.export.addInformations">true</Put>
    </New>
    </Arg>
    </New>
    <New id="fppFormDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppFormDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource"></Ref>
    </Arg>
    </New>
    <New id="fppJbpmDbDataSource" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>jdbc/fppJbpmDbDataSource</Arg>
    <Arg>
    <Ref id="fppDataSource" />
    </Arg>
    </New>
    <New id="formJmsTopicConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formJmsTopicConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldNotifConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotifConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- HWR SERVER -->
    <New id="fpp.hwr-server.properties" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.hwr-server.properties</Arg>
    <Arg>
    <New class="java.util.Properties">
    <Put name="fpp.hwr-server.formbroker.uri">failover:nio://localhost:61615</Put>
    <Put name="fpp.hwr-server.fieldConsumers">4</Put>
    <Put name="fpp.hwr-server.resourceManager.memoryUsageThreshold">262144000</Put>
    <Put name="fpp.hwr-server.resourceManager.resourceCountThreshold">150</Put>
    <Put name="fpp.hwr-server.resourceManager.idleTimeLimit">1800000</Put>
    <Put name="fpp.hwr-server.resourceManager.timeToLive">3600000</Put>
    <Put name="fpp.hwr-server.resourceManager.wakeUpInterval">100000</Put>
    <Put name="fpp.hwr-server.formdb.dialect">org.hibernate.dialect.SQLServerDialect</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.show_sql">true</Put>
    <Put name="fpp.hwr-server.formdb.hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</Put>
    <Put
    name="fpp.hwr-server.formdb.hibernate.transaction.manager_lookup_class">org.hibernate.transaction.BTMTransactionManagerLookup</Put>
    <Put name="fpp.hwr-server.internal.dumpRecognition">false</Put>
    </New>
    </Arg>
    </New>
    <New id="myscriptHwrService" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/myscriptHwrService</Arg>
    <Arg>
    <New class="com.visionobjects.myscript.commons.hwr.engine.HwrEngineService">
    <Set name="handwritingContextUserLimit">50</Set>
    <Set name="resourceUserLimit">0</Set>
    <Set name="otherObjectUserLimit">500</Set>
    <Call name="doStart" />
    </New>
    </Arg>
    </New>
    <New id="fieldNotificationProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldNotificationProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <New id="fieldConsumerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fieldConsumerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppServerConnectionFactory" />
    </Arg>
    </New>
    <!-- wrapper -->
    <New id="fppWrapperServerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <Set name="brokerURL">nio://localhost:61615</Set>
    <Set name="redeliveryPolicy">
    <New class="org.apache.activemq.RedeliveryPolicy">
    <Set name="maximumRedeliveries">-1</Set>
    <Set name="backOffMultiplier">2</Set>
    </New>
    </Set>
    </New>
    <New id="formNotificationConsumerFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/formNotificationConsumerFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <New id="inkProducerJmsConnectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/inkProducerJmsConnectionFactory</Arg>
    <Arg>
    <Ref id="fppWrapperServerConnectionFactory" />
    </Arg>
    </New>
    <!-- JMX/SENSORS -->
    <New id="inkJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="inkJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=inkJmsQueue
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldNotifJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldNotifJmsQueue
    </Arg>
    </New>
    <New id="fieldJmsQueueUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="fieldJmsQueueObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=fieldJmsQueue
    </Arg>
    </New>
    <New id="formNotifiationTopicUrl" class="java.lang.String">
    <Arg>service:jmx:rmi://localhost:2100/jndi/rmi://localhost:2099/jmxrmi
    </Arg>
    </New>
    <New id="formNotifiationTopicObjectName" class="java.lang.String">
    <Arg>org.apache.activemq:BrokerName=formserver.broker,Type=Queue,Destination=formNotifiationTopic
    </Arg>
    </New>
    <New id="server.list" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="WRP">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8081</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="FORM">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8080</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    <Put name="HWR">
    <New class="java.util.ArrayList">
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8083</Arg>
    </New>
    </Arg>
    </Call>
    <Call name="add">
    <Arg>
    <New class="java.lang.String">
    <Arg>http://localhost:8084</Arg>
    </New>
    </Arg>
    </Call>
    </New>
    </Put>
    </New>
    <New id="fpp.form.jmx.properties" class="java.util.HashMap">
    <!-- InkJmsQueue -->
    <Put name="inkJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="inkJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="inkJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="inkJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="inkJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="inkJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="inkJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    <!--FieldNotifJmsQueue -->
    <Put name="fieldNotifJmsQueueSize">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">QueueSize</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsConsumerCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">ConsumerCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsDequeueCount">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">DequeueCount</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsAverageEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">AverageEnqueueTime</Put>
    </New>
    </Put>
    <Put name="fieldNotifJmsMaxEnqueueTime">
    <New class="java.util.HashMap">
    <Put name="urlQueue">
    <Ref id="fieldNotifJmsQueueUrl" />
    </Put>
    <Put name="objectName">
    <Ref id="fieldNotifJmsQueueObjectName" />
    </Put>
    <Put name="attribute">MaxEnqueueTime</Put>
    </New>
    </Put>
    </New>
    <New id="fpp.form.ui.parameters" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>
    <Ref id="Server" />
    </Arg>
    <Arg>fpp/fpp.form.ui.parameters</Arg>
    <Arg>
    <New
    class="com.visionobjects.myscript.fpp.ui.parameters.impl.UIParametersServiceImpl">
    <Set name="jmxProperties">
    <Ref id="fpp.form.jmx.properties"></Ref>
    </Set>
    <Set name="serverList">
    <Ref id="server.list"></Ref>
    </Set>
    </New>
    </Arg>
    </New>
    </Configure>
    Thanks so much in advance.
     

  • Unplanned failover in a Hyper-V cluster vs unplanned failover in an ordinary (not Hyper-V) cluster

    Hello!
    Please excuse me if you think my question is silly, but before deploying something  in a production environment I'd like to dot the i's  and cross the t's.
    1) Suppose there's a two node cluster with a Hyper-V role that hosts a number of highly available VM.
    If the both cluster nodes are up and running an administrator can initiate a planned failover wich will transfer all VMs
    including their system state to another node without downtime.
    In case any cluster node goes down unexpectedly the unplanned failover fires up that will transfer all VMs to another node
    WITHOUT their system state. As far as I understand this can lead to some data loss.
    http://itknowledgeexchange.techtarget.com/itanswers/how-does-live-migration-differ-from-vm-failover/
    If, for example, I have an Exchange vm and it would be transfered to the second node during unplanned failover in the Hyper-V cluster I will lose some data by design.
    2) Suppose there's a two node cluster with the Exchange clustered installation: in case one node crashes the other takes over without any data loss.
    Conclusion: it's more disaster resilient to implement some server role in an "ordinary" cluster that deploy it inside a vm in the Hyper-V cluster.
    Is it correct?
    Thank you in advance,
    Michael

    "And if this "anything in memory and any active threads" is so large that can take up to 13m15s to transfer during Live Migration it will be lost."
    First, that 13m15s required to live migrate all your VMs is not the time it takes to move individual VMs.  By default, Hyper-V is set to move a maximum of 2 VMs at a time.  You can change that, but it would be foolish to increase that value if
    all you have is a single 1GE network.  The other VMs will be queued.
    Secondly, you are getting that amount of time confused with what is actually happening.  Think of a single VM.  Let's even assume that it has so much memory and is so active that it takes 13 minutes to live migrate.  (Highly unlikely, even
    on a 1 GE NIC).  During that 13 minutes the VM takes to live migrate, the VM continues to perform normally.  In fact, if something happens in the middle of the LM, causing the LM to fail, absolutely nothing is lost because the VM is still operating
    on the original host.
    Now let's look at what happens when the host on which that VM is running fails, causing a restart of the VM on another node of the cluster.  The VM is doing its work reading and writing to its data files.  At that instance in time when the host
    fails, the VM may have some unwritten data buffers in memory.  Since the host fails, the VM crashes, losing whatever it had in memory at the instant in time.  It is not going to lose any 13 minutes of data.  In fact, if you have an application
    that is processing data at this volume, you most likely have something like SQL running.  When the VM goes down, the cluster will automatically restart the VM on another node of the cluster.  SQL will automatically replay transaction logs to recover
    to the best of its ability.
    Is there a possibility of data loss?  Yes, a very tiny possibility for a very small amount.  Is there a possibility of data corruption?  Yes, a very, very tiny possibility, just like with a physical machine.
    The amount of time required for a live migration is meaningless when it comes to potential data loss of that VM.  The potential data loss is pretty much the same as if you had it running on a physical machine, the machine crashed, and then restarted.
    "clustered applicationsDO NOT STOP working during unplanned failover (so there is no recovery time), "
    Not exactly true.  Let's use SQL as an example again.  When SQL is instsalled in a cluster, you install at a minimum one instance, but you can have multiple instances.  When the node on which the active instance is running fails, there is
    a brief pause in service while the instance starts on the other node.  Depending on transactions outstanding, last write, etc., it will take a little bit of time for the SQL instance to be ready to start handling requests on the new node.
    Yes, there is a definite difference between restarting the entire VM (just the VM is clustered) and clustering the application.  Recovery time is about the biggest issue.  As you have noted, restarting a VM, i.e. rebooting it, takes time. 
    And because it takes a longer period of time, there is a good chance that clients will be unable to access the resource for a period of time, maybe as much as 1-5 minutes depending upon a lot of different factors, whereas with a clustered application, the
    clients may be unable to access for up to a minute or so.
    However, the amount of data potentially lost is quite dependent upon the application.  SQL is designed to recover nicely in either environment, and it is likely not to lose any data.  Sequential writing applications will be dependent upon things
    like disk cache held in memory - large caches means higher probability of losing data.  No disk cache means there is not likely to be any loss of data.
    .:|:.:|:. tim

  • MSDTC set up in SQL Server 2008 failover cluster

    Hi Guys,
    I am in the process of setting up failover cluster using SQL Server 2008  (64Bit) Enterprise on Windows Server 2008 R2 (64Bit) I have completed almost all the works but I got few questions regarding MSDTC configuration whether the MSDTC disk should
    be assigned from SAN or it should be local to the disk ,  Separate disk for each nodes in the cluter or 1 disk to be used across all the servers for MSDTC in windows fail over cluster.
    With regards, Gopinath.

    Hi Gopinath,
    Please review the following similar blogs to get more details about configuring MDTC and pros & cons of different options.
    How to Configure Multiple Instances of Distributed Transaction Coordinator (DTC) on a Windows Server Failover Cluster 2008
    http://blogs.technet.com/b/askcore/archive/2009/02/18/how-to-configure-multiple-instances-of-distributed-transaction-coordinator-dtc-on-a-windows-server-failover-cluster-2008.aspx
    How to configure DTC for SQL Server in a Windows 2008 cluster
    http://blogs.msdn.com/b/cindygross/archive/2009/02/22/how-to-configure-dtc-for-sql-server-in-a-windows-2008-cluster.aspx
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

Maybe you are looking for

  • ABAP dump coming at the time of displaying error message.

    Hi to all I have written a code in user exit . At the time of saving ABAP dump is coming instead of showing error message. Error analysis     The program attempted to issue a " " message during "Exit Command" processing. This is an illegal operation.

  • Cant get pictures out of thumbnail size

    I can only view my photos thumbnail sized. I can't see them in slideshows or by clicking them. I've tried resetting it a million times. Please help

  • Oracle 9i & Application 9i Enterprise Edition

    Can Oracle 9i & Application 9i Enterprise Edition Rel 1 be used on a single machine. Thanks in advance Zulqarnain R. Habib

  • Crystal Report "some parameters are missing values" while exporting/printin

    I am able to pass parameters from a JSP to a crystal report through CrystalReportViewer and view the report. (I tried doing it using the code provided on this help forum. I was getting a message: "Some Parameters are missing values". I had to add 1 l

  • 802.1a is admin down. wlc 4402 and ap1252

    Hello all, I am trying to enable the 802.11a and use the 5Ghz band in my house. However, I am having difficulty in doing this. Please see screenshot below. I have select AU (Australia) as my regulatory domain (2nd image). 802.11a band is enabled(3rd