[Anthill-dev] Looking at running multiple Anthill Instances
Maciej Zawadzki
mbz at urbancode.com
Fri Jul 25 13:35:42 CDT 2003
Patrick,
I'm pretty sure that there is a patch applied to the sources in CVS that
allows multiple instance of Anthill to be deployed on the same server.
The patch delays initialization of Anthill until the first request is
made and then it uses the context path (which is only available from the
HTTPRequest object) to identify the properties that are for that
instance of Anthill. You'll have to get the latest source from CVS to
try out this patch.
BTW, your new approach with the component model is exactly how we
assemble our projects and products. We've been advocating that approach
for some time now -- it's exciting to see that we're not alone :)
Managing the large number of component projects and different versions
of each is one of the reasons we put together Anthill Pro. To manage
the dependencies we also use CodeStation -- a repository for reusable
artifacts that we've put together. We have not released CodeStation
yet, but have been using it internally for a while now. A download of
CodeStation is actually available at
http://www.urbancode.com/download/codestation/ if you want to check it
out. We have to get some documentation together -- that's why we have
not announced it yet.
I have a presentation about our approach to reuse with Anthill and
CodeStation in the presentations section of the website -- the
presentation download has recently been updated.
Let me know how that patch works out for you.
Regards,
--Maciej
O'Hara, Patrick wrote:
> Let me start out by explaining why we are interested in running multiple
> instances of Anthill. We are a Software Development company. We have a
> standard product that we customize for our clients. The product must be
> build for a specific J2EE platform (i.e. WebSphere, WebLogic, etc).
> This has been pretty workable until our latest iteration. We have
> changed to a component based development model. This means that we have
> a project for each release of each component (we have about 50
> components many have two releases, some have 3). We have a project for
> each release of our standard project (2 at this time). Finally we have
> a project for each release of a customer specific implementation. This
> is exagerated by the fact that most projects have two sets of build
> scripts (one produces a developer build and one produces a release
> build). The result is not going to work under anthill. We are
> currently using anthill to build just one of our customers and the
> project files and dependencies are becoming hard to maintain.
>
> Our solution is to run two instances of anthill for each customer. One
> instance would handle dev builds (nightly), the other would create
> release builds (as required).
>
> One cannot currently run multiple instances of anthill. The issue is in
> how properties are handled. I would like to make two changes that will
> resolve this problem. The first change is to have the
> AnthillAdminServlet check it's initialization parameters before looking
> for the property file. If the ANTHILL_ROOT_DIR_KEY has been specified,
> then this servlet will use that value. If it has not been specified
> then the value from the proeprty file would be used.
>
> The next change would be to store the properties statically in the
> Anthill class. The issue with storing the properties in the System
> properties is that all instances of anthill within the VM must have the
> same property values. There are 11 spots in code that would need to
> change to accomplish this.
>
> The one issue I see with this solution is that the Pagelet work
> directory is also stored in the System properties. Would this cause a
> problem for multiple instances of the app?
>
> Finally, is there a different approach that you can suggest to solve our
> issue.
>
> Thanks in advance for the time that you spend on this.
>
More information about the Anthill-dev
mailing list