I think so. I am offering this as a purely suggestion - the system I
am currently working on -- with two WARs/web apps - is constrained by
exactly what you mentioned: Tomcat is the deployment environment for
the enterprise, so I don't have the full J2EE stack available to me.
Instead I've just developed two monolithic applications, that share
JAR'ed-up code in the core module. But there's no sharing of a
applicationContext at run app. Ostensibly they're entirely separate
with separate SessionFactories, etc.
Let us know how it works out!
Alex
On 17 Dec 2007, at 18:49, Mike Wille wrote:
Yes, project A is also a stand alone project. It has both Core and
Web modules.
Thanks for the links. I will take a look. At first glance, it
seems that this creates an EAR file and would then require something
more then Jetty or Tomcat.
Thanks!
-Mike
Alexander Coles wrote:
Is Project A also a stand alone project, or does it just provide
infrastructure support?
If I am understanding your requirement rightly, you could create a
shared parent application context:
http://blog.interface21.com/main/2007/06/11/using-a-shared-parent-application-context-in-a-multi-war-spring-application/
http://springtips.blogspot.com/2007/06/using-shared-parent-application-context.html
Alex
On 17 Dec 2007, at 18:16, Mike Wille wrote:
Hi All,
I'm looking for advice on setting up multiple projects. I've been
using the Spring MVC Modular archetype with appfuse and it works
great.
Now I was thinking about trying it out on a larger scale. I'm
setting up a second project (multi module) that depends on the
first. Everything worked out great until I went to add new model
objects to my second project. I can't get the new DAOs and model
to work in the Core module of the second project. I am using
Hibernate and I'm getting any one of a number of errors (depending
on how I adjust the spring config). So I'm looking for the
recommended way to set something like this up.
Let me describe what I have done and the errors I am receiving. I
have two projects: Project A and Project B. Project A provides
infrastructure support. Project B provides application specific
features. Project B depends on Project A.
1. It appears that I cannot leverage the hibernate session factory
or data source from Project A. When I do not specify a
SessionFactory in Project B, my DAOs fail to be created in the
spring context with a failed dependency on bean named
sessionFactory. I guess this isn't a problem really, just
something I needed to be aware of.
2. After adding a session factory and data source to Project B, my
annotated hibernate entities created in Project B are not found.
By not found, I mean my unit tests fail when attempting to call
DAO methods. The exeception is:
org.hibernate.MappingException: Unknown entity:
company.app.model.Entity
My hibernate.cfg.xml file in Project B (both main and test
directories) *does* list the entity and I even added it to
persistence.xml just for the heck of it. So it appears to me that
the Project B SessionFactory is loading the hibernate.cfg.xml from
Project A. I assume this because of the property: configLocation
that is set to "classpath:hibernate.cfg.xml". I tried changing
that setting to just "hibernate.cfg.xml" in the interests of just
getting the tests to work. No luck there. I then went back to
project A and tried renaming hibernate.cfg.xml to something like
projecta-hibernate.cfg.xml and then updated the SessionFactory for
Project A to point to that. When I do that, I get an exception on
build: "No hibernate.cfg.xml configuration provided. Annotated
classes/packages is only configurable via hibernate.cfg.xml"
I thought that maybe I could suppress Project A's
hibernate.cfg.xml and so I added Project A's entities to Project
B's hibernate.cfg.xml, but in the end I couldn't figure out a way
to suppress Project A.
While I knew it wouldn't work, I even tried adding Project B's
entity declarations to Project A's hibernate.cfg.xml to try and
get Project B to work. That caused Project A's build to fail, of
course.
I've tried adding an entry to Project B's spring context for a
HibernateExtensionPostProcessor that includes Project B's
entities. But that gives me a different exception:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'sessionFactory' defined in class path
resource [applicationContext-dao.xml]: Invocation of init method
failed; nested exception is org.hibernate.HibernateException:
cannot simultaneously fetch multiple bags
So now I'm completely lost. Is there anybody out there that can
offer any help or advice? Has anyone tried to do what I am doing?
Thanks a bajillion for any help!
-Mike
---------------------------------------------------------------------
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]