Return-Path: Delivered-To: apmail-cayenne-user-archive@www.apache.org Received: (qmail 77538 invoked from network); 3 Apr 2008 15:38:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Apr 2008 15:38:15 -0000 Received: (qmail 38738 invoked by uid 500); 3 Apr 2008 15:38:14 -0000 Delivered-To: apmail-cayenne-user-archive@cayenne.apache.org Received: (qmail 38727 invoked by uid 500); 3 Apr 2008 15:38:14 -0000 Mailing-List: contact user-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cayenne.apache.org Delivered-To: mailing list user@cayenne.apache.org Received: (qmail 38718 invoked by uid 99); 3 Apr 2008 15:38:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Apr 2008 08:38:14 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [12.6.244.34] (HELO airmail.wirelessworld.airvananet.com) (12.6.244.34) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Apr 2008 15:37:25 +0000 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: How can I customize the driver/url/login Date: Thu, 3 Apr 2008 11:37:18 -0400 Message-ID: <8F798BFDA851B943B3A1B2510E92878507B8162A@airmail.wirelessworld.airvananet.com> In-Reply-To: <656DDD72-752F-4D68-BD4E-25050AEA5E98@objectstyle.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: How can I customize the driver/url/login Thread-Index: AciVn63i/mOFMCUdQgiGgqcTAZgmVgAAHgWA References: <8F798BFDA851B943B3A1B2510E92878507B81540@airmail.wirelessworld.airvananet.com> <18AAF4CA-CA43-4ADF-BE5D-DF38A2AAE963@objectstyle.org> <8F798BFDA851B943B3A1B2510E92878507B81617@airmail.wirelessworld.airvananet.com> <656DDD72-752F-4D68-BD4E-25050AEA5E98@objectstyle.org> From: "Scott Anderson" To: X-Virus-Checked: Checked by ClamAV on apache.org While I know enough to briefly describe what a connection pool is, I have no idea how Cayenne uses it, or how it's configured. Could you go in to a little more detail? AFAIK, I'm using what ever the default settings are. It seems unlikely to me that it's derby related because when I use the modeler to specify the database location, I don't see anything like this. Could it be that the adapter isn't being specified? I noticed that Cayenne is warning that it's using the "automatic" one. Apr 3, 2008 11:33:56 AM org.apache.cayenne.conf.RuntimeLoadDelegate initAdapter INFO: no adapter set, using automatic adapter. -----Original Message----- From: Andrus Adamchik [mailto:andrus@objectstyle.org]=20 Sent: Thursday, April 03, 2008 11:30 AM To: user@cayenne.apache.org Subject: Re: How can I customize the driver/url/login I can't say what it is, but definitely something Derby-related. =20 Googling the exception shows quite a few hits. Which connection pool =20 you end up using anyways? The built in Cayenne version? Andrus On Apr 3, 2008, at 6:13 PM, Scott Anderson wrote: > Awesome; that's exactly what I was looking for. > > I'm getting an exception I don't quite understand, now. Cayenne is > complaining about having "no current connection," but it has already > performed a single query and received results! > > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger logQuery > INFO: SELECT t0.name, t0.description, t0.access, t0.cmdgroup, t0.id =20 > FROM > command t0 WHERE t0.name =3D ? [bind: 1->name:'access'] - prepared in = 16 > ms. > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger > logSelectCount > INFO: =3D=3D=3D returned 1 row. - took 125 ms. > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger > logCommitTransaction > INFO: +++ transaction committed. > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger > logQueryStart > INFO: --- will run 1 query. > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger > logBeginTransaction > INFO: --- transaction started. > Apr 3, 2008 11:10:54 AM org.apache.cayenne.access.QueryLogger > logQueryError > INFO: *** error. > java.sql.SQLTransientConnectionException: No current connection. > at > org=20 > .apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown > Source) > at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown > Source) > at > org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(Unknown =20 > Source) > at > org.apache.derby.impl.jdbc.EmbedConnection.getAutoCommit(Unknown =20 > Source) > at > org=20 > .apache.cayenne.access.InternalTransaction.fixConnectionState(Interna > lTransaction.java:48) > at > org=20 > .apache.cayenne.access.ExternalTransaction.addConnection(ExternalTran > saction.java:71) > at > org.apache.cayenne.access.DataNode=20 > $TransactionDataSource.getConnection(D > ataNode.java:322) > at > org.apache.cayenne.access.DataNode.performQueries(DataNode.java:209) > at > org=20 > .apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQuery > Action.java:416) > at > org.apache.cayenne.access.DataDomainQueryAction.access=20 > $000(DataDomainQue > ryAction.java:67) > at > org.apache.cayenne.access.DataDomainQueryAction=20 > $2.transform(DataDomainQu > eryAction.java:389) > at > org=20 > .apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:84 > 7) > at > org=20 > .apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(Da > taDomainQueryAction.java:386) > at > org=20 > .apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryA > ction.java:119) > at > org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:740) > at > org=20 > .apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQ > ueryAction.java:304) > at > org=20 > .apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQu > eryAction.java:88) > at > org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1343) > at > org.apache.cayenne.access.DataContext.performQuery(DataContext.java:=20 > 1332 > ) > at > org=20 > .apache.cayenne.DataObjectUtils.objectForQuery(DataObjectUtils.java:2 > 75) > at net.bnubot.db.Command.get(Command.java:39) > at net.bnubot.core.Profile.registerCommand(Profile.java:32) > at > net=20 > .bnubot.bot.CommandEventHandler.initializeCommands(CommandEventHandle > r.java:123) > at > net.bnubot.bot.CommandEventHandler.(CommandEventHandler.java:=20 > 46) > at net.bnubot.core.Profile.insertConnection(Profile.java:109) > at net.bnubot.core.Profile.add(Profile.java:52) > at net.bnubot.core.Profile.newConnection(Profile.java:157) > at net.bnubot.Main.main(Main.java:106) > Caused by: java.sql.SQLException: No current connection. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown > Source) > at > org=20 > .apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcr > ossDRDA(Unknown Source) > ... 30 more > > Any ideas? > > Thanks so much. > > -----Original Message----- > From: Andrus Adamchik [mailto:andrus@objectstyle.org] > Sent: Thursday, April 03, 2008 10:11 AM > To: user@cayenne.apache.org > Subject: Re: How can I customize the driver/url/login > > In the Modeler there is a dropdown for the DataNode called "DataSource > Factory". Here you can specify your own class that implements > "org.apache.cayenne.conf.DataSourceFactory" interface. Your own > factory can implement 'getDataSource' method to pop up a dialog asking > user to enter DB info on first call, or do whatever is appropriate in > your case. > > Cheers, > Andrus > > > On Apr 3, 2008, at 3:38 AM, Scott Anderson wrote: > >> Is there a way I can customize the driver/url/login information >> through >> my application code? I want the user to be able to select the =20 >> location >> and login credentials, but the schema is known. I don't want the >> user to >> have to write his or her own configuration files and repackage the >> distributed jar, though. >> > >