struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Don Brown" <donald.br...@gmail.com>
Subject Re: [s2] Struts 2 OSGi Plugin
Date Sat, 12 Jul 2008 06:51:51 GMT
I'm actually in the middle of a pretty large rollout of OSGi as the
basis of the new Atlassian (JIRA, Confluence, etc) plugin framework,
which uses an embedded Felix, Spring DM, and supporting code to enable
the hybrid architecture.  I want to get that into shipping versions of
several of our products before coming back to this plugin, as I think
code that has been extracted from production systems is generally
better than that which was dreamed up from nothing.  Speaking of
dreamed up code, I've also become more aware of the shortcomings of
the codebehind plugin, and am looking forward to transitioning to the
convention plugin in 2.2.  Speaking of 2.2, don't forget to close out
2.1 bugs so we can get that out the door! :)

Don

On Sat, Jul 12, 2008 at 2:44 PM, Musachy Barroso <musachy@gmail.com> wrote:
> There is a service(felix bundle) that polls a directory an install
> uninstalls bundles, but it is kind of buggy still, that's why it is
> commented out in the plugin. An interface to upload bundles and
> install them the would be nice, I was going to work on it but got
> distracted by the convention plugin :). The spring integration also
> needs some polishing, and then we need to make it work with the
> convention plugin, but that's another story.
>
> musachy
>
> On Fri, Jul 11, 2008 at 11:51 PM, alvins <alvins1982@hotmail.com> wrote:
>>
>> Hi Don,
>>
>> I wanted to start working on this where you left off (excellent work btw!).
>> Was thinking of starting with the GUI management to install, uninstall etc.
>> Wanted to make sure there isn't someone already doing this so don't
>> duplicate.. Or if you had any other plans?
>>
>> Alvin
>>
>> btw. sorry I pressed the wrong button so you may get an email
>>
>>
>> Don Brown-2 wrote:
>>>
>>> At this point, the /bundles directory is only read on startup, however, it
>>> wouldn't be too hard to add a polling scanner.  The better solution will
>>> be
>>> to write a GUI that will let you install, uninstall, and upgrade bundles
>>> at
>>> runtime.
>>>
>>> Don
>>>
>>> On 7/30/07, Frank W. Zammetti <fzlists@omnytex.com> wrote:
>>>>
>>>> Don, could you clarify something for me?  You say "Drop the jar into the
>>>> /WEB-INF/classes/bundles directory and it will automatically be
>>>> installed when the application starts up" ... so if I have a running
>>>> application, I have to restart it for the deploy to happen... is that
>>>> restart always going to be necessary, or is that just a side-effect of
>>>> this being an early release?
>>>>
>>>> Frank
>>>>
>>>> Don Brown wrote:
>>>> > Writing an OSGi plugin for Struts 2 has been something I've been
>>>> > playing with on and off since I put in place the Struts 2 plugin
>>>> > architecture, and I finally completed an end-to-end functional spike
>>>> > of such a beast. My motivation for a Struts 2 OSGi plugin is to easily
>>>> > allow Struts 2 developers to write their applications such that they
>>>> > can install, upgrade, and uninstall sections of it at a time without
>>>> > restarting or reloading the whole application or application server.
>>>> > Think how nice it would be to install a new admin tool in your public,
>>>> > heavily-used web application without affecting any users, or fixing
a
>>>> > critical bug without, again, taking the application down even for a
>>>> > few seconds.
>>>> >
>>>> > The Struts 2 OSGi plugin allows you to separate your application into
>>>> > jars (called bundles), each containing a struts.xml file, Action
>>>> > classes, and Velocity (for now) files. Just by adding a few lines in
>>>> > the jar's manifest.mf:
>>>> >
>>>> >   Bundle-Activator: org.apache.struts2.osgi.StrutsActivator
>>>> >   Export-Package: com.mycompany.myapp.actions
>>>> >   Bundle-Version: 1.0.0
>>>> >   Bundle-SymbolicName: foo.actions
>>>> >
>>>> > The jar is ready to be deployed.  Drop the jar into the
>>>> > /WEB-INF/classes/bundles directory and it will automatically be
>>>> > installed when the application starts up.
>>>> >
>>>> >  As this was a spike, there are a bunch of limitations and missing
>>>> > features such as:
>>>> > * Only Velocity templates are supported
>>>> > * Application classes, including third-party jars such as Spring, will
>>>> > probably not be available in bundles
>>>> > * No GUI to install, upgrade, and uninstall bundles at runtime
>>>> > * Bundles cannot contain beans or constants (will probably never be
>>>> allowed)
>>>> > * Most likely improper OSGi usage
>>>> >
>>>> > Still, the code is functional and available in the Struts sandbox:
>>>> >
>>>> >
>>>> http://svn.apache.org/repos/asf/struts/sandbox/trunk/struts2-osgi-plugin/
>>>> >
>>>> > One of my side goals in this project is to hide as much of OSGi from
>>>> > the Struts 2 developer as possible, so that bundles will be easy to
>>>> > write and deploy. Therefore, there is probably a lot of OSGi that is
>>>> > hidden, which OSGi experts would lament, but the main goal is to allow
>>>> > Struts actions to be hot deployable, and I think this plugin could
>>>> > make it happen.
>>>> >
>>>> > Don
>>>> >
>>>> > -- copied from my blog post for those too lazy to click links:
>>>> > http://www.jroller.com/mrdon/entry/struts_2_osgi_plugin_spike
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> > For additional commands, e-mail: dev-help@struts.apache.org
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>>
>>>> --
>>>> --
>>>> Frank W. Zammetti
>>>> Founder and Chief Software Architect
>>>> Omnytex Technologies
>>>> http://www.omnytex.com
>>>> AIM/Yahoo: fzammetti
>>>> MSN: fzammetti@hotmail.com
>>>> Author of "Practical Ajax Projects With Java Technology"
>>>>   (2006, Apress, ISBN 1-59059-695-1)
>>>> and "JavaScript, DOM Scripting and Ajax Projects"
>>>>   (2007, Apress, ISBN 1-59059-816-4)
>>>> Java Web Parts - http://javawebparts.sourceforge.net
>>>>   Supplying the wheel, so you don't have to reinvent it!
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/-s2--Struts-2-OSGi-Plugin-tp11851951p18415829.html
>> Sent from the Struts - Dev mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
>
>
>
> --
> "Hey you! Would you help me to carry the stone?" Pink Floyd
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message