Whoa!!! Easy there dude! I didn't say hiveutils gives ALL
functionality that Spring has, I was refereeing to the Open Session in
View Filter:
<contribution configuration-id="hivemind.ApplicationDefaults">
<default symbol="hivetranse.hibernate.DeferSessionClose" value="true"/>
</contribution>
Hivemind does not gives you Transaction support, but HiveUtils does:
<service-point id="MyService" interface="com.acme.MyService">
<invoke-factory model="singleton">
<construct class="com.acme.MyServiceImpl">
<service>MyDAO</service>
</construct>
</invoke-factory>
<interceptor service-id="hivetranse.core.TransactionInterceptor">
<method pattern="doSomething" demarcation="RequiresNew"/>
<method pattern="*" demarcation="Required"/>
<exception name="java.lang.RuntimeException" rollback="true"/>
<exception name="java.lang.Exception" rollback="false"/>
</interceptor>
</service-point>
Of course there are a lot of other things that HiveUtils does not
provides to you, and I'm pretty sure this is not the right place to
discuss about ;)
I have a full functional project working with Tapestry + Hivemind +
HiveUtils (Used to be a Tapestry + Spring) that's the beauty of IoC
I've changed the way things were injected, and my app did not change a
line of code :P
Cheers
On 7/29/05, Kurtis Williams <[EMAIL PROTECTED]> wrote:
> Actually, that's not totally true. HiveUtils doesn't have the same
> functionality. The Spring Framework is pretty huge and offers things
> like:
>
> 1) Great Hibernate integration. Using Hibernate without Spring is doing
> things the hard way. Spring builds on Hibernate's great foundation.
>
> 2) Declarative Transaction Management. Hivemind does not have any
> support for declarative transactions. This builds on the support for
> Hibernate and simply eliminates rafts of Java code required to manage
> transactions.
>
> 3) Great raw JDBC DAO support. For those times when you go straight at
> the database. Spring's handling of JDBC is phenomenal. Makes you
> wonder why JDBC doesn't do the things Spring does. Spring simplifies
> JDBC querying and ResultSet iteration immensely.
>
> 4) Quartz Job Scheduling. Spring has full support for scheduling jobs
> using Quartz. Very handy.
>
> 5) Email bean support. Work with email in a very simple way.
>
> 6) Remote invocation support. Use your beans directly with RMI, SOAP,
> HTTP, Burlap, and Hessian, with no additional code. Remoting has never
> been this easy.
>
> And that's just the tip of the iceberg. Hivemind is a great product and
> very good at what it does. In fact, it's probably better at dependency
> injection than Spring is, but it's not intended to do everything Spring
> does.
>
> -----Original Message-----
> From: Vinicius Carvalho [mailto:[EMAIL PROTECTED]
> Sent: Friday, July 29, 2005 8:25 AM
> To: Tapestry users
> Subject: Re: Tapestry and Hibernate
>
> Well HiveUtils have the same functionallity as Spring. I understand
> you are in a deadline, but since Tapestry 4.0 has full Hivemind
> support, adding Hivemind + HiveUtils to your project would make things
> easier for you in the future.
>
> On 7/29/05, Will Scheidegger <[EMAIL PROTECTED]> wrote:
> > I just recently started my first Hibernate/Tapestry project and - to
> > make the learning curve even a bit steeper - added Springframework to
> > it, which was new to me too. I'm sure I'm only scratching the surface
> > of Springframework for now, but it works well for the problem you've
> > described. I had to invest maybe 1 additional day to integrate it.
> >
> > Cheers,
> > Will
> >
> > On 28.07.2005, at 21:52, Chris Chiappone wrote:
> >
> > > I have been developing an application using tapestry 3.0.3 and
> > > hibernate 3.0.2. Took a while to get everything working correctly,
> > > and learning both of the frameworks. I have a decent amount of the
> > > application written and now am running into
> > > LazyInitializationException in certain places. Its strange because
> I
> > > can't expain why I get the exception and other times I don't.
> > >
> > > I've read that using the Spring Framework would fix this problem,
> but
> > > wonder if its worth learning another framework and trying to
> integrate
> > > it into my application. I'm on a deadline and this may just take to
> > > long. I've also extended BaseEngine to do this trying to relieve my
> > > problem:
> > >
> > >
> > > protected void cleanupAfterRequest(IRequestCycle cycle) {
> > > try {
> > >
> > > HibernateUtil.commitTransaction();
> > >
> > > if (killSession) {
> > > try {
> > > HttpSession session =
> > > cycle.getRequestContext()
> > >
> .getSession();
> > >
> > > if (session != null) {
> > > log.info("Logging
> out
> > > user.");
> > >
> session.invalidate();
> > > }
> > > } catch (IllegalStateException ex) {
> > > // Ignore.
> > > }
> > >
> > > }
> > > } catch (NestedRuntimeException nre) {
> > >
> > > } finally {
> > > HibernateUtil.closeSession();
> > > }
> > > }
> > > Yet I still run into this exception:
> > >
> > > Unable to resolve expression 'currentCompany.name' for
> > > [EMAIL PROTECTED]
> > > binding: ExpressionBinding[EditProfile currentCompany.name]
> > > location: context:/WEB-INF/EditProfile.page, line 41, column 65
> > >
> > > ognl.OgnlException
> > > name
> > >
> > > org.hibernate.LazyInitializationException
> > > could not initialize proxy - the owning Session was closed
> > > messages: [Ljava.lang.String;@cdf872
> > > throwableCount: 1
> > > throwables: [Ljava.lang.Throwable;@7227a8
> > > Stack Trace:
> > >
> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInit
> > > ializer.java:53)
> > >
> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractL
> > > azyInitializer.java:84)
> > >
> org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer
> > > .java:134)
> > >
> domain.company.Company$$EnhancerByCGLIB$$f029e618.getName(<generated>)
> > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
> > > va:39)
> > >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> > > rImpl.java:25)
> > > java.lang.reflect.Method.invoke(Method.java:585)
> > >
> > >
> > > Is there anything else I should try. Or is the spring framework the
> > > way to go. If so is it easy to integrate into an existing
> > > applicatoin? Thanks.
> > > --
> > > ~chris
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail:
> [EMAIL PROTECTED]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]