Return-Path: X-Original-To: apmail-db-derby-user-archive@www.apache.org Delivered-To: apmail-db-derby-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3CD6A41A2 for ; Sun, 3 Jul 2011 04:00:33 +0000 (UTC) Received: (qmail 62632 invoked by uid 500); 3 Jul 2011 04:00:31 -0000 Delivered-To: apmail-db-derby-user-archive@db.apache.org Received: (qmail 62133 invoked by uid 500); 3 Jul 2011 04:00:17 -0000 Mailing-List: contact derby-user-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Discussion" Delivered-To: mailing list derby-user@db.apache.org Received: (qmail 62053 invoked by uid 99); 3 Jul 2011 04:00:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Jul 2011 04:00:10 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.160.172] (HELO mail-gy0-f172.google.com) (209.85.160.172) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Jul 2011 04:00:04 +0000 Received: by gyd5 with SMTP id 5so349774gyd.31 for ; Sat, 02 Jul 2011 20:59:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.73.26 with SMTP id v26mr4141766yba.59.1309665582904; Sat, 02 Jul 2011 20:59:42 -0700 (PDT) Received: by 10.151.44.15 with HTTP; Sat, 2 Jul 2011 20:59:42 -0700 (PDT) Date: Sun, 3 Jul 2011 04:59:42 +0100 Message-ID: Subject: Embedded - can it be multi-user? From: Paul Linehan To: derby-user@db.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Hi all, I've just started to use Derby and really like it. I've come from a Firebird embedded environment with Java, but the fact that Derby is written in Java is a decisive factor in its favour - its feature set is also impressive. However, there's one thing that's confusing me. First thing I did was go to the "getstartderby.pdf" docco and go through the tutorial. All worked fine, however I was confused by this bit (End of page 33, start of 34) ------------------------- Derby's two architectures have caused confusion for some new Derby users, who mistakenly think that embedded is a single-user configuration. This is not true. The embedded driver supports multiple simultaneous connections, performs locking, and provides performance, integrity, and recoverability. Any application that uses the Getting Started with Derby embedded driver can open multiple Derby connections and then provide a means for multiple users to interact with the database on each connection. The Derby Network Server is an example of such an application. ------------------------- Now, I was using the SQuirreL SQL Client to look at my databases as they were being created, but I couldn't use ij with the database *_and_* SQuirreL at the same time. What I'm wondering is, if there's a single app connecting to the database multiple times, is it up to the app to manage the connections so that only one connection is active at any one time, or how exactly does that work? Say in a context where an App Server is connecting to an embedded Derby database - i.e. no server running - does the App Server have to manage requests to the database in a queue or how, exactly does the system work? TIA for any pointers, tips, clues, references, URL's or anything else useful. Rgs, Paul... -- linehanp@tcd.ie Mob: 00 353 86 864 5772