incubator-s4-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leo Neumeyer (Commented) (JIRA)" <>
Subject [jira] [Commented] (S4-5) Prototype app builder
Date Tue, 15 Nov 2011 15:50:51 GMT


Leo Neumeyer commented on S4-5:

From: Aron Sogor
Date: Tue, Nov 15, 2011 at 6:01 AM
Subject: S4 piper object creation design


First of congrats, I really like the stuff you have built, I think it is
one of the cleanest actor models in java, gives me all the reasons not to
battle an erlang vm. I also really like that you took up Guice and the
whole idea of ditching the XML config paradigm is sweet!

What remains strange is that PE and Stream classes are created by the app
and not via Guice. Here is my concern:
- In the case of the Stream it is probably not a big deal as a developer I
 should not be extending or writing my stream classes. (Day #1 I might be
missing something)
- In the case of a PE, I would probably like to inject things, from the
most basic and beloved @Inject Logger, some other custom objects of my own
to probably even Streams.

The current model makes this pretty clunky as the app is created by the
injector but the PE and the Streams are made by the App. I think This could
overcome with some Tricks with Provider<T> or other helpers. Clearly the is
a fundamental design choice:
- Why the App.init() method was created this way? Besides it felt cute, and
give a sort of DSL to it, is there any other reason?

I wonder if you up for revisiting this aspect of piper and if you are I
could help experiment on a github fork, but I would like to understand the
goals or intentions behind the current idea.


> Prototype app builder
> ---------------------
>                 Key: S4-5
>                 URL:
>             Project: Apache S4
>          Issue Type: New Feature
>    Affects Versions: 0.5
>            Reporter: Leo Neumeyer
>            Priority: Minor
>             Fix For: 0.5
> Extend Guice AbstractModule to create a simple application builder layer. The idea is
to evaluate if we can use Guice to do all the wiring including PEs and Streams and Apps.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message