Return-Path: Delivered-To: apmail-jakarta-hivemind-user-archive@www.apache.org Received: (qmail 63228 invoked from network); 1 Jul 2004 19:59:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 1 Jul 2004 19:59:03 -0000 Received: (qmail 49109 invoked by uid 500); 1 Jul 2004 19:59:17 -0000 Delivered-To: apmail-jakarta-hivemind-user-archive@jakarta.apache.org Received: (qmail 48993 invoked by uid 500); 1 Jul 2004 19:59:14 -0000 Mailing-List: contact hivemind-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: hivemind-user@jakarta.apache.org Delivered-To: mailing list hivemind-user@jakarta.apache.org Received: (qmail 48908 invoked by uid 99); 1 Jul 2004 19:59:12 -0000 X-ASF-Spam-Status: No, hits=0.8 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_10_20,HTML_MESSAGE,TO_ADDRESS_EQ_REAL X-Spam-Check-By: apache.org Received: from [200.1.116.7] (HELO www-dgi.afip.gov.ar) (200.1.116.7) by apache.org (qpsmtpd/0.27.1) with ESMTP; Thu, 01 Jul 2004 12:59:11 -0700 Received: from intranet6.afip.gov.ar (intranet6 [10.20.152.99]) by www-dgi.afip.gov.ar with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2655.55) id NXTFGXJN; Thu, 1 Jul 2004 16:58:46 -0300 Received: from plalloni (10.20.109.140 [10.20.109.140]) by intranet6.afip.gov.ar with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id N7KPCXL1; Thu, 1 Jul 2004 16:58:44 -0300 Subject: Re: Spring-like transaction features? From: Pablo Lalloni To: "hivemind-user@jakarta.apache.org" In-Reply-To: <200407012027.i61KROu7031868@server.unitdev.com> References: <200407012027.i61KROu7031868@server.unitdev.com> Content-Type: multipart/alternative; boundary="=-eiY6LfhS+h1YrTYnigMI" Organization: AFIP - DDIT - Proyecto Pampa Message-Id: <1088711377.21821.60.camel@plalloni> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Thu, 01 Jul 2004 16:49:38 -0300 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --=-eiY6LfhS+h1YrTYnigMI Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable We've written full support for Hibernate and JDBC as HiveMind services, and I'm currently working on a TransactionInterceptor factory service to use declarative transaction demarcation a-la EJB.=20 To support Hibernate we made an HibernateSessionService who's able to receive contributions of SessionFactory's configurations and also mappings (hbm's) for persistent classes. On startup this service builds up all the SessionFactory's as determined by contributions associating to each the corresponding persistent classes. After this any dependant component can ask for a Session corresponding to a given class or query name. Sessions are associated to threads through ThreadStorageService so the same Session can be returned for the same thread, they're cleaned up con thread cleanup events. Also did something alike for supporting a FastLaneReader through JDBC where we take a similar approach for Connection management. In front of this services we have a FinderService and a CRUDService which can be used for what their names mean despite whether the data is accessed through JDBC, Hibernate or any future data access backend implemented as a HiveMind service. Transactions are handled with the above mentioned interceptor supporting EJB CMT policies. If anyone's interested in any of this, I guess I can send out more details and/or code (if my boss agree with it, of which I'm pretty confident). Cheers, PiL El jue, 01-07-2004 a las 16:29, Drew McAuliffe escribi=F3: > Are there any plans to introduce features into HiveMind like Spring's > abstraction of transactionality of Hibernate or other data access? I > like the way that Spring can make the details of data access and > transactionality configurable but I prefer the way HiveMind deals with > the overall service abstraction, pluggability, interception, etc. Is > there any plan to introduce these higher-order features into HiveMind, > or is it still concentrating mainly on the IoC/container/pluggability > side of things? Or does anyone out there have a HiveMind module that > does a similar thing? I'm investigating moving a combination of > homegrown app layers to either one of these two big guys, and I don't > like the idea of mixing them because of the functionality overlap. > =20 > Thanks, > Drew --=-eiY6LfhS+h1YrTYnigMI Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit Message We've written full support for Hibernate and JDBC as HiveMind services, and I'm currently working on a TransactionInterceptor factory service to use declarative transaction demarcation a-la EJB.

To support Hibernate we made an HibernateSessionService who's able to receive contributions of SessionFactory's configurations and also mappings (hbm's) for persistent classes. On startup this service builds up all the SessionFactory's as determined by contributions associating to each the corresponding persistent classes. After this any dependant component can ask for a Session corresponding to a given class or query name. Sessions are associated to threads through ThreadStorageService so the same Session can be returned for the same thread, they're cleaned up con thread cleanup events.

Also did something alike for supporting a FastLaneReader through JDBC where we take a similar approach for Connection management.

In front of this services we have a FinderService and a CRUDService which can be used for what their names mean despite whether the data is accessed through JDBC, Hibernate or any future data access backend implemented as a HiveMind service.

Transactions are handled with the above mentioned interceptor supporting EJB CMT policies.

If anyone's interested in any of this, I guess I can send out more details and/or code (if my boss agree with it, of which I'm pretty confident).

Cheers,
PiL

El jue, 01-07-2004 a las 16:29, Drew McAuliffe escribió:
Are there any plans to introduce features into HiveMind like Spring's abstraction of transactionality of Hibernate or other data access? I like the way that Spring can make the details of data access and transactionality configurable but I prefer the way HiveMind deals with the overall service abstraction, pluggability, interception, etc. Is there any plan to introduce these higher-order features into HiveMind, or is it still concentrating mainly on the IoC/container/pluggability side of things? Or does anyone out there have a HiveMind module that does a similar thing? I'm investigating moving a combination of homegrown app layers to either one of these two big guys, and I don't like the idea of mixing them because of the functionality overlap.
 
Thanks,
Drew
--=-eiY6LfhS+h1YrTYnigMI--