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 <edili...@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.wro...@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.wro...@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.wro...@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