Domanda

Sto cercando un modo per passare le informazioni sulle transazioni web-application al processo di database sottostante. Nel mio codice Java che potrei avere un metodo transazionale ReservationService ricerca # (), che gestisce uno o più SQLs. Sulle DBMS vedo solo uno SPID insieme con alcune ciocche. Sto cercando un modo per aggiungere un tag "# ReservationService ricerca" al processo di database.

jTDS / Sybase ASE hanno un appName che può essere passato come proprietà di connessione. Come stiamo usando un pool di connessioni, le connessioni esistenti sono riutilizzati, ma a mia conoscenza l'appName vengono letti solo sulla creazione di una nuova connessione.

Come posso re-impostare l'appName su una connessione già esistente (senza chiusura / apertura)? O, se che semplicemente è impossibile, ci sono altre idee per ottenere informazioni contesto transazionale da Java al DBMS?

  • Tomcat applicazione web (Java 6)
  • C3P0 Connection Pool (supporta solo JDBC 3)
  • jTDS di collegamento a Sybase ASE 15

Grazie Simon

È stato utile?

Soluzione

Unfortunately not, it seems that you can only specify that in the URL parameters when you open up the connection but can't be altered afterwords.

You can aways pass in a SessionID of some kind from your Java/Tomecat to all your Sybase queries. For me, this was easy as I use stored procedures for all communications between my Java application and the SQL server. I based my SessionID in Java on the J2EE session.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top