myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kay Wrobel <kay.wro...@gmx.net>
Subject Re: Apache CODI x JEE7 Glassfish4
Date Wed, 30 Oct 2013 21:35:32 GMT
Yeah, I think CODI was a good for some features that either didn't exist 
in CDI 1.0 (like ViewAccessScoped) or were better implemented in CODI. 
That said, CDI in Java EE 7 is much improved, and switching over to an 
EE 7 profile and taking advantage of it may require you to make code 
changes anyway.

You can always test specific behaviors out in sample projects you create 
and then compare your CODI implementation vs the CDI 1.1 implementation. 
There might even be unit tests you can write. It may be as simple as 
changing all the import statements in your source codes.


On 10/30/2013 03:56 PM, Edilmar Alves wrote:
> I think CODI is a great replacement for my actual environment, the only
> problem is to deploy in GF4.
>
>
> 2013/10/30 Edilmar Alves <edilista@gmail.com>
>
>> Hi,
>>
>> I use CODI ConversationScoped and @Inject Conversation because it is
>> better than original CDI implementation.
>> I have many java files using CODI at this time.
>> Then, to go back to CDI, I will have to change many files, and I don't
>> know if the webapp will continue to work 100%,
>> because the management of the Conversation object made by CODI is great,
>> for example it decreases problems like
>> LazyException caused by Hibernate with JSF fields.
>>
>>
>> 2013/10/30 Kay Wrobel <kay.wrobel@gmx.net>
>>
>>> Also, you might want to check with RichFaces. I found this blog <
>>> http://www.bleathem.ca/blog/**2013/09/richfaces-434final-**
>>> release-announcement.html<http://www.bleathem.ca/blog/2013/09/richfaces-434final-release-announcement.html>>
>>> and the moderator mentions that full JSF 2.2 support is planned for
>>> RichFaces 5. I had some of the same issues with PrimeFaces 3.5 which was
>>> incompatible with JSF 2.2 and I had to wait for PrimeFaces 4.0 to come out.
>>>
>>>
>>> On 10/30/2013 03:17 PM, Kay Wrobel wrote:
>>>
>>>> I'm looking at CDI 1.1 spec <http://docs.jboss.org/cdi/**
>>>> spec/1.1/cdi-spec.html<http://docs.jboss.org/cdi/spec/1.1/cdi-spec.html>>
>>>> and ot looks like @ConversationScope is already part of CDI 1.1, no CODI
>>>> needed for that.
>>>>
>>>> GlassFish 4 includes CDI 1.1 by way of Weld API 2.0 <
>>>> http://www.cdi-spec.org/**download/ <http://www.cdi-spec.org/download/>>
>>>> which is bundled inside the weld-osgi-bundle.jar.
>>>>
>>>> On 10/30/2013 02:55 PM, Edilmar Alves wrote:
>>>>
>>>>> Hi friends,
>>>>>
>>>>> Thanks for help!
>>>>> Look at these situations...
>>>>> 1) Glassfish 3.1.1 and 3.1.2.2 has the same behaviour. But I use in
>>>>> production 3.1.1 because there are many servers using my webapp with
>>>>> this
>>>>> version, and it is not simple to upgrade.
>>>>> 2) I am testing Glassfish 4/JEE7 because Glassfish is the oficial server
>>>>> approved by the enterprise, I can't change for other server. Then, I
>>>>> test
>>>>> version 4 because there are some other functionalities I would like to
>>>>> use
>>>>> from JEE7 in my webapp, but with CODI it is not possible to deploy.
>>>>> 3) I didn't understand the suggestion to use Myfaces 2.2. Has it a
>>>>> replacement for the CODI ConversationScoped, for example? Because this
>>>>> scope is used in many pages of my webapp, the main resource from CODI
>>>>> that
>>>>> I use and need an alternative. I can't use Myfaces, for example, to
>>>>> change
>>>>> Richfaces.
>>>>>
>>>>>
>>>>> 2013/10/30 Kay Wrobel <kay.wrobel@gmx.net>
>>>>>
>>>>>   Or he can stick with Glassfish 3.1.2.2, which is GlassFish' last final
>>>>>> release targeting Java EE 6. Unless he wants to incorporated new
>>>>>> features
>>>>>> that only Java EE 7 can provide, I'd say, stick with what currently
>>>>>> works.
>>>>>> Or try alternatives, such as TomEE 1.5.2 or TomEE 1.6 which still
>>>>>> targets
>>>>>> Java EE 6, or JBoss AS 7 which also targets Java EE 6.
>>>>>>
>>>>>>
>>>>>> On 10/30/2013 02:08 PM, Howard W. Smith, Jr. wrote:
>>>>>>
>>>>>>   Also, MyFaces 2.2 (beta, which has JavaEE7 JSF2.2 features) was
>>>>>>> just/recently released (yesterday, I think). Feel free to give
that a
>>>>>>> try.
>>>>>>>
>>>>>>> TomEE and tomcat8 is and/or will be targeting JEE7.
>>>>>>>
>>>>>>> is it a requirement to deploy to Glassfish 4, or you just want
to
>>>>>>> deploy
>>>>>>> to
>>>>>>> your local machine for testing purposes only?
>>>>>>>
>>>>>>> if for testing purposes only, download latest tomee 1.6 snapshot
and
>>>>>>> Myfaces 2.2 (beta), drop MyFaces 2.2 api + impl JARs in tomee/lib
>>>>>>> folder,
>>>>>>> and give them a try. and if you have any tomee-related questions,
>>>>>>> please
>>>>>>> subscribe to tomee user list and ask questions there. they are
>>>>>>> 'apache',
>>>>>>> too, and just as helpful there, 'too'. :)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Oct 30, 2013 at 2:59 PM, Kay Wrobel <kay.wrobel@gmx.net>
>>>>>>> wrote:
>>>>>>>
>>>>>>>    Hi Edilmar.
>>>>>>>
>>>>>>>> I had the same issues. There are incompatibilities apparently
with
>>>>>>>> JSF
>>>>>>>> 2.2
>>>>>>>> that ships with GlassFish 4. And JSF 2.2 has some much improved
CDI
>>>>>>>> features, such as proper @ViewScope.
>>>>>>>>
>>>>>>>> Kay
>>>>>>>>
>>>>>>>>
>>>>>>>> On 10/30/2013 01:03 PM, Edilmar Alves wrote:
>>>>>>>>
>>>>>>>>    Hi,
>>>>>>>>
>>>>>>>>> I have an webapp that runs fine in GF3.1.1 using Weld1.1
+ CODI +
>>>>>>>>> JPA2 +
>>>>>>>>> Hibernate4.2.6 + JSF2 + RichFaces4.3.4.
>>>>>>>>> Then, when I try to deploy in GF4, server.log arises
this error, and
>>>>>>>>> searching on Internet, some people said this is a
>>>>>>>>> problem with CODI, that is not compatible with JEE7 projects.
Is
>>>>>>>>> this
>>>>>>>>> true?
>>>>>>>>> If it is not compatible, is there some alternative
>>>>>>>>> that makes the same as CODI ConversationScoped for example,
that I
>>>>>>>>> use
>>>>>>>>> in
>>>>>>>>> many places in my webapp?
>>>>>>>>>
>>>>>>>>>      [2013-07-29T10:44:42.206-0400] [glassfish 4.0] [SEVERE]
>>>>>>>>> [NCLS-CORE-00026]
>>>>>>>>> [javax.enterprise.system.core] [tid: _ThreadID=36
>>>>>>>>> _ThreadName=admin-listener(5)] [timeMillis: 1375109082206]
>>>>>>>>> [levelValue:
>>>>>>>>> 1000] [[
>>>>>>>>>
>>>>>>>>>       Exception during lifecycle processing
>>>>>>>>>
>>>>>>>>> org.glassfish.deployment.******common.DeploymentException:
CDI
>>>>>>>>> deployment
>>>>>>>>> failure:WELD-001408 Unsatisfied dependencies for type
[Validator]
>>>>>>>>> with
>>>>>>>>> qualifiers [@Default] at injection point [[UnbackedAnnotatedField]
>>>>>>>>> @Inject
>>>>>>>>> private
>>>>>>>>> org.hibernate.validator.******internal.cdi.interceptor.**
>>>>>>>>> ValidationInterceptor.******validator]
>>>>>>>>>
>>>>>>>>>         at org.glassfish.weld.******WeldDeployer.event(****
>>>>>>>>> WeldDeployer.java:225)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.kernel.event.*****
>>>>>>>>> *EventsImpl.send(EventsImpl.**
>>>>>>>>> java:131)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.internal.data.******ApplicationInfo.load(**
>>>>>>>>> ApplicationInfo.java:328)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.server.******ApplicationLifecycle.**
>>>>>>>>> deploy(****
>>>>>>>>> ApplicationLifecycle.java:493)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.server.******ApplicationLifecycle.**
>>>>>>>>> deploy(****
>>>>>>>>> ApplicationLifecycle.java:219)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.deployment.******admin.DeployCommand.execute(**
>>>>>>>>> DeployCommand.java:491)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl$2$1.run(**
>>>>>>>>> CommandRunnerImpl.java:527)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl$2$1.run(**
>>>>>>>>> CommandRunnerImpl.java:523)
>>>>>>>>>
>>>>>>>>>         at java.security.******AccessController.doPrivileged(**
>>>>>>>>> ****Native
>>>>>>>>> Method)
>>>>>>>>>
>>>>>>>>>         at javax.security.auth.Subject.******doAs(Subject.java:356)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl$2.execute(****
>>>>>>>>> CommandRunnerImpl.java:522)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl.doCommand(****
>>>>>>>>> CommandRunnerImpl.java:546)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl.doCommand(****
>>>>>>>>> CommandRunnerImpl.java:1423)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl.access$**
>>>>>>>>> 1500(****
>>>>>>>>> CommandRunnerImpl.java:108)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl$**
>>>>>>>>> ExecutionContext.execute(******CommandRunnerImpl.java:1762)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.admin.******CommandRunnerImpl$**
>>>>>>>>> ExecutionContext.execute(******CommandRunnerImpl.java:1674)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.admin.rest.******resources.admin.******
>>>>>>>>> CommandResource.**
>>>>>>>>> executeCommand(******CommandResource.java:396)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.admin.rest.******resources.admin.******
>>>>>>>>> CommandResource.**
>>>>>>>>> execCommandSimpInMultOut(******CommandResource.java:234)
>>>>>>>>>
>>>>>>>>>         at sun.reflect.******NativeMethodAccessorImpl.******
>>>>>>>>> invoke0(Native
>>>>>>>>> Method)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> sun.reflect.******DelegatingMethodAccessorImpl.******invoke(**
>>>>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>>>>
>>>>>>>>>         at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.internal.**
>>>>>>>>> ResourceMethodInvocationHandle******rFactory$1.invoke(**
>>>>>>>>> ResourceMethodInvocationHandle******rFactory.java:81)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.internal.**
>>>>>>>>> AbstractJavaResourceMethodDisp******atcher.invoke(**
>>>>>>>>> AbstractJavaResourceMethodDisp******atcher.java:125)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.internal.**
>>>>>>>>> JavaResourceMethodDispatcherPr******ovider$ResponseOutInvoker.**
>>>>>>>>> ****
>>>>>>>>> doDispatch(**
>>>>>>>>> JavaResourceMethodDispatcherPr******ovider.java:152)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.internal.**
>>>>>>>>> AbstractJavaResourceMethodDisp******atcher.dispatch(**
>>>>>>>>> AbstractJavaResourceMethodDisp******atcher.java:91)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.ResourceMethodInvoker.****
>>>>>>>>> invoke(ResourceMethodInvoker.******java:346)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.ResourceMethodInvoker.****
>>>>>>>>> apply(ResourceMethodInvoker.******java:341)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******model.ResourceMethodInvoker.****
>>>>>>>>> apply(ResourceMethodInvoker.******java:101)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******ServerRuntime$1.run(**
>>>>>>>>> ServerRuntime.java:224)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.jersey.internal.**
>>>>>>>>> ****Errors$1.call(Errors.java:****
>>>>>>>>> 271)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.jersey.internal.**
>>>>>>>>> ****Errors$1.call(Errors.java:****
>>>>>>>>> 267)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.jersey.internal.**
>>>>>>>>> ****Errors.process(Errors.**java:*
>>>>>>>>> ***315)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.jersey.internal.**
>>>>>>>>> ****Errors.process(Errors.**java:*
>>>>>>>>> ***297)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.jersey.internal.**
>>>>>>>>> ****Errors.process(Errors.**java:*
>>>>>>>>> ***267)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.process.******internal.RequestScope.**
>>>>>>>>> runInScope(RequestScope.java:******317)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******ServerRuntime.process(**
>>>>>>>>> ServerRuntime.java:198)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.server.******ApplicationHandler.handle(**
>>>>>>>>> ApplicationHandler.java:946)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.jersey.grizzly2.******httpserver.**
>>>>>>>>> GrizzlyHttpContainer.service(******GrizzlyHttpContainer.java:***
>>>>>>>>> *331)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.admin.rest.******adapter.******JerseyContainerCommandService$
>>>>>>>>>
>>>>>>>>> ****
>>>>>>>>> 3.service(******JerseyContainerCommandService.******java:165)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.admin.rest.******adapter.RestAdapter.service(**
>>>>>>>>> RestAdapter.java:181)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> com.sun.enterprise.v3.******services.impl.ContainerMapper.******
>>>>>>>>> service(ContainerMapper.java:******246)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.http.******server.HttpHandler.**
>>>>>>>>> runService(****
>>>>>>>>> HttpHandler.java:191)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.http.******server.HttpHandler.doHandle(****
>>>>>>>>> HttpHandler.java:168)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.http.******server.HttpServerFilter.**
>>>>>>>>> handleRead(HttpServerFilter.******java:189)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******filterchain.ExecutorResolver$******
>>>>>>>>> 9.execute(ExecutorResolver.******java:119)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******filterchain.******
>>>>>>>>> DefaultFilterChain.****
>>>>>>>>> executeFilter(
>>>>>>>>> **DefaultFilterChain.java:288)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******filterchain.******DefaultFilterChain.**
>>>>>>>>> executeChainPart(******DefaultFilterChain.java:206)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******filterchain.******DefaultFilterChain.execute(**
>>>>>>>>>
>>>>>>>>> DefaultFilterChain.java:136)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******filterchain.******DefaultFilterChain.process(**
>>>>>>>>>
>>>>>>>>> DefaultFilterChain.java:114)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******ProcessorExecutor.execute(**
>>>>>>>>> ProcessorExecutor.java:77)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.nio.******transport.TCPNIOTransport.**
>>>>>>>>> fireIOEvent(TCPNIOTransport.******java:838)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******strategies.AbstractIOStrategy.****
>>>>>>>>> **fireIOEvent(**
>>>>>>>>> AbstractIOStrategy.java:113)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******strategies.******WorkerThreadIOStrategy.run0(**
>>>>>>>>>
>>>>>>>>> WorkerThreadIOStrategy.java:******115)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******strategies.******WorkerThreadIOStrategy.access$
>>>>>>>>>
>>>>>>>>> ****
>>>>>>>>> 100(WorkerThreadIOStrategy.******java:55)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******strategies.******
>>>>>>>>> WorkerThreadIOStrategy$**
>>>>>>>>> WorkerThreadRunnable.run(******WorkerThreadIOStrategy.java:****
>>>>>>>>> **135)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******threadpool.AbstractThreadPool$****
>>>>>>>>> **Worker.doWork(**
>>>>>>>>> AbstractThreadPool.java:564)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.glassfish.grizzly.******threadpool.AbstractThreadPool$******
>>>>>>>>> Worker.run(AbstractThreadPool.******java:544)
>>>>>>>>>
>>>>>>>>>         at java.lang.Thread.run(Thread.******java:722)
>>>>>>>>>
>>>>>>>>> Caused by: org.jboss.weld.exceptions.******DeploymentException:
>>>>>>>>> WELD-001408
>>>>>>>>> Unsatisfied dependencies for type [Validator] with qualifiers
>>>>>>>>> [@Default]
>>>>>>>>> at
>>>>>>>>> injection point [[UnbackedAnnotatedField] @Inject private
>>>>>>>>> org.hibernate.validator.******internal.cdi.interceptor.**
>>>>>>>>> ValidationInterceptor.******validator]
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******Validator.****
>>>>>>>>> validateInjectionPointForDeplo******
>>>>>>>>> ymentProblems(Validator.java:******403)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******Validator.******
>>>>>>>>> validateInjectionPoint(**
>>>>>>>>> Validator.java:325)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******Validator.validateInterceptor(******
>>>>>>>>> Validator.java:554)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******Validator.******
>>>>>>>>> validateInterceptors(**
>>>>>>>>> Validator.java:530)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******Validator.validateDeployment(******
>>>>>>>>> Validator.java:479)
>>>>>>>>>
>>>>>>>>>         at
>>>>>>>>> org.jboss.weld.bootstrap.******WeldBootstrap.validateBeans(**
>>>>>>>>> WeldBootstrap.java:536)
>>>>>>>>>
>>>>>>>>>         at org.glassfish.weld.******WeldDeployer.event(****
>>>>>>>>> WeldDeployer.java:216)
>>>>>>>>>
>>>>>>>>>         ... 58 more
>>>>>>>>>
>>>>>>>>> ]]
>>>>>>>>>
>>>>>>>>> [2013-07-29T10:44:42.208-0400] [glassfish 4.0] [SEVERE]
[]
>>>>>>>>> [javax.enterprise.system.core] [tid: _ThreadID=36
>>>>>>>>> _ThreadName=admin-listener(5)] [timeMillis: 1375109082208]
>>>>>>>>> [levelValue:
>>>>>>>>> 1000] [[
>>>>>>>>>
>>>>>>>>>       Exception while loading the app]]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>
>>
>> --
>> Edilmar Alves
>> Analista de Sistemas, VascaĆ­no, Rockeiro e Nadador
>> face: /edilmar.alves, twitter: @edilista, skype: edilmar
>>
>
>


Mime
View raw message