5 Replies Latest reply on Oct 24, 2012 11:47 AM by Sueleyman Vurucu

    DeltaSpike

    Florian Hell Newbie

      Hi all,

       

      since DeltaSpike doesn't have its own user forum, I'm writing here instead.

       

      I started a project using Seam 3, a framwork i loved since version 2 and i'm always stayed faithful.

       

      Obviously Seam 3 won't be developed any more, so i loose my intereset to use a legacy framework in my projects.

       

      So, instead there is DeltaSpike, ok, i can live with that option. So, for my actual project, i deleted Seam from my pom, put DeltaSpike in it, move som jsf libs from ear to war to get it running, and i see, anything works. So, for incubation, good work.

       

      But of course I'm missing a lot of stuff...first my authentication is not more available, and i don't wanna made it al by myself using JAAS, so, when will the full security stack be integrated in DeltaSpike? First release of Security is still available, but no authentication mechanism.

       

      Second question is, will Seam Faces, Seam Mail and Seam Social been also ported to DeltaSpike? Of course they could get a review, maybe get some changes, but i think that are some types of Seam many users love, favorable Seam Faces is absolut necessary.


      And the biggest question is, when do u leave incubation state? Is there a chance to contribute? The wiki says by helping othere users e.g., well some kind of trouble, without havin a forum etc. Of course i could help by Jira commits, but this should really have an effort, when tryin to help.

       

      So, thanks for reading all my stuff and maybe i'll gettin an nice answer.

       

      Greetz from good old Germany

      Florian

        • 1. Re: DeltaSpike
          rsmeral Newbie

          Hi Florian,

           

          I can't answer all of your questions, but I'll try my best (until Jason or someone more competent finds this thread).

           

          The authentication API was already in DS in 0.2, but was dropped so as to re-discuss its design. It will probably show up again in some form in 0.4. [1]

          In the meantime, I suggest you watch the picketlink-cdi project, since that's where the CDI-enabled IDM has moved from DS. [2]

          You can also use the current API (voters) to integrate existing security implementations like Shiro or Syncope. (suggestion by M. Struberg)

           

          A Faces module is one of the priorities for 0.4. [3]

          Not sure about Mail or Social.

           

          As to your biggest question, reading this month's ASF Incubator Board Report [4], the only major goal before graduation (transition to top-level project) is documentation (though not a blocker). One of the board members suggests the project should graduate "soon", which might mean in three months. That, however, still wouldn't provide much guarantee of DS being finished or completely stable, just an assurance that DS won't fade away.

           

          Contributions are welcome, you can join the effort by

          - reviewing code: https://git-wip-us.apache.org/repos/asf?p=incubator-deltaspike.git (this repo has all fresh changes),

          - discussing issues on the dev-list deltaspike-dev@incubator.apache.org,

          - ..or on IRC Freenode #deltaspike.

           

          DeltaSpike should definitely get a forum soon, I agree with that.

           

          Hope this is nice enough an answer

           

          Regards,

          Ron

           

          [1] http://apache-deltaspike-incubator-discussions.2316169.n4.nabble.com/IDM-impl-feedback-td4653444.html

          [2] http://lists.jboss.org/pipermail/security-dev/2012-July/000034.html

          [3] https://community.jboss.org/message/753639#753639

          [4] http://wiki.apache.org/incubator/August2012

          1 of 1 people found this helpful
          • 2. Re: DeltaSpike
            Florian Hell Newbie

            Hi,

             

            great answer ;-)

             

            Ok, so I used Picketlink already with Seam Security, so it wouldn't be much affort to use the direct implementation. I'll give it a try, just bad if DS will get its own solution, may better then picketlink. But one question, is picketlink-cdi available in maven? Can't find it in Snapshots Nexus...

             

            So on, I'll stay at DS and will see what comes, may I can contribute and help first fixing some bugs.

             

            Thanks and kind regards

            Florian    

            • 3. Re: DeltaSpike
              rsmeral Newbie

              Well, according to the discussions in the mentioned lists, DS will hardly get anything better than PicketLink. At most, it will have a simple IDM API and facilities for simple login. And of course, the option to use full-fledged IDM (PicketLink) through CDI bindings (picketlink-cdi).

              Picketlink-cdi is not in maven yet, you can check it out at https://github.com/picketlink/picketlink-cdi . It is not yet finished and contains many stubs.

              • 4. Re: DeltaSpike
                Florian Hell Newbie

                Ok, no Problem, I'll check it out and deploy it into my own nexus.

                 

                In my opinion there is no other solution than PicketLink, too, but really needs the cdi support. But I can wait for a stable version.

                 

                Thanks for your help.

                 

                Florian

                • 5. Re: DeltaSpike
                  Sueleyman Vurucu Expert

                  Hiu Florian,

                  I'm using seam-jsf for have transaction in my backingbeans. This works well. I try today DS. But I have no luck to work my stuff with DS.

                   

                  I follow the istructions here.

                   

                  After that I see the EntityManagerProducer is not triggered. What I do is that:

                   

                  1. My Usermodel

                  @Named("usermodel")

                  @SessionScoped

                  @Transactional

                  public class UserModel implements Serializable{

                   

                    @Inject

                    EntityManager em;

                   

                  2. EntitymanagerProducer like described in the documentation.

                   

                  After showing in the source I see there's an Interceptor for transactions. After I activate the Interceptor in my beans.xml with

                  <interceptors>

                    <class>org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor</class>

                  </interceptors>

                   

                  then I see that the EntitymanagerProducer trigered.

                   

                  So know, if DS try to start a transaction then I got the excpetion shown below:

                   

                  java.lang.IllegalStateException: JBAS011424: Container managed entity manager can only be closed by the container (auto-cleared at tx/invocation end and closed when owning component is closed.)

                      org.jboss.as.jpa.container.TransactionScopedEntityManager.close(TransactionScopedEntityManager.java:98)

                      com.siemag.server.producer.EntityManagerProducer.closeEntityManager(EntityManagerProducer.java:35)

                      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      java.lang.reflect.Method.invoke(Method.java:601)

                      org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)

                      org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

                      org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

                      org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)

                      org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)

                      org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)

                      org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)

                      org.jboss.weld.bean.DisposalMethod.invokeDisposeMethod(DisposalMethod.java:158)

                      org.jboss.weld.bean.ProducerMethod$1.dispose(ProducerMethod.java:122)

                      org.jboss.weld.bean.ProducerMethod.destroy(ProducerMethod.java:197)

                      org.jboss.weld.context.ForwardingContextual.destroy(ForwardingContextual.java:31)

                      org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:132)

                      org.jboss.weld.context.AbstractContext.destroy(AbstractContext.java:146)

                      org.jboss.weld.context.AbstractManagedContext.deactivate(AbstractManagedContext.java:41)

                      org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:72)

                      org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)

                      org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)

                      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

                      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)

                      org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897)

                      org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626)

                      org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2039)

                      java.lang.Thread.run(Thread.java:722)

                   

                  I call in my usermodel an ejb with cmt. Is maybe this the problem ??

                   

                  I think the word incubation is right on place here, isn't it ?