[JBoss JIRA] Created: (WELD-973) @Specializes is not compatible with seam-config because of a problem in weld's BeanDeployerEnvironment
by Geoffrey De Smet (JIRA)
@Specializes is not compatible with seam-config because of a problem in weld's BeanDeployerEnvironment
------------------------------------------------------------------------------------------------------
Key: WELD-973
URL: https://issues.jboss.org/browse/WELD-973
Project: Weld
Issue Type: Bug
Affects Versions: 1.1.2.Final
Reporter: Geoffrey De Smet
BeanDeployerEnvironment has 2 methods which - combined with seam-config - break @Specializes:
{code}
public class BeanDeployerEnvironment {
private final Map<WeldClass<?>, AbstractClassBean<?>> classBeanMap;
protected void addAbstractClassBean(AbstractClassBean<?> bean)
{
...
classBeanMap.put(bean.getWeldAnnotated(), bean);
...
}
public AbstractClassBean<?> getClassBean(WeldClass<?> clazz)
{
if (!classBeanMap.containsKey(clazz))
{
return null;
}
...
}
{code}
Here's what happens:
In this use case I have a bean RepositoryStartupService, which is extra configured by seam-config.
It is also specialized by TestRepositoryStartupService (for tests).
1) First addAbstractClassBean is called with these parameters:
{code}
bean = Managed Bean [class org.drools.guvnor.server.repository.RepositoryStartupService] with qualifiers [@Any @Default @Named]
bean.bean.getWeldAnnotated() = public@Named @XmlConfiguredBean @ApplicationScoped @XmlId class org.drools.guvnor.server.repository.RepositoryStartupService
{code}
2) Later on, getClassBean is called to find the parent class RepositoryStartupService:
{code}
clazz = public@Named @ApplicationScoped class org.drools.guvnor.server.repository.RepositoryStartupService
{code}
which returns null because the @XmlConfiguredBean bits are missing.
So I get this exception message:
{code}
org.jboss.weld.exceptions.DefinitionException: WELD-000047 Specializing bean must extend another bean: Managed Bean [class org.drools.guvnor.server.repository.TestRepositoryStartupService] with qualifiers [@Any @Default]
{code}
One can argue that since seam-config is not configuring TestRepositoryStartupService a failure is normal,
but *even in that case the exception message is very misleading*, as looking at the code TestRepositoryStartupService clearly extends RepositoryStartupService which is also a bean.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Created: (WELD-974) @Alternative @Specializes does not work
by Geoffrey De Smet (JIRA)
@Alternative @Specializes does not work
---------------------------------------
Key: WELD-974
URL: https://issues.jboss.org/browse/WELD-974
Project: Weld
Issue Type: Bug
Reporter: Geoffrey De Smet
Priority: Critical
See pull request with testcase.
{code}
@ApplicationScoped
@Named("namedFoo") // doesn't matter if it's @Named or not
public class NamedFoo
{
}
@Alternative @Specializes
public class SpecializesNamedFoo extends NamedFoo
{
}
@Test
public void testSpecializationWithAlternative()
{
Assert.assertEquals(NamedFoo.class, beanManager.resolve(beanManager.getBeans(NamedFoo.class)).getBeanClass()); // FAILS WITH NPE!
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Created: (CDITCK-221) Synchronization bug in test<X>ScopeActiveDuringCallToEjbTimeoutMethod tests
by David Blevins (JIRA)
Synchronization bug in test<X>ScopeActiveDuringCallToEjbTimeoutMethod tests
---------------------------------------------------------------------------
Key: CDITCK-221
URL: https://issues.jboss.org/browse/CDITCK-221
Project: CDI TCK
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Tests
Affects Versions: 1.0.4.Final
Reporter: David Blevins
Waiting on either climbed or descended just tests that the timeout method was entered but does not guarantee the end of the method was reached and the proper state was set in the other variables. These tests will occasionally fail for this timing issue.
Though not fancy, this kind of synchronization can work. We just need to move these variables to the end of the timeout method. That will guarantee that when either climbed or descended are set to true the other variables are also in a testable state.
{code}
@Timeout
public void timeout(Timer timer)
{
if (beanManager.getContext(ApplicationScoped.class).isActive())
{
applicationScopeActive = true;
if (beanId > 0.0)
{
if (beanId == simpleApplicationBeanInstance.get().getId())
{
sameBean = true;
}
}
else
{
beanId = simpleApplicationBeanInstance.get().getId();
}
}
// applicationScopeActive, beanId and sameBean have been set and are testable
if (timer.getInfo().equals(CLIMB_COMMAND))
{
climbed = true;
}
if (timer.getInfo().equals(DESCEND_COMMAND))
{
descended = true;
}
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (CDITCK-236) Improve test coverage for extension-provided Interceptors and Decorators
by Jozef Hartinger (Created) (JIRA)
Improve test coverage for extension-provided Interceptors and Decorators
------------------------------------------------------------------------
Key: CDITCK-236
URL: https://issues.jboss.org/browse/CDITCK-236
Project: CDI TCK
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Tests
Affects Versions: 1.0.4.Final
Reporter: Jozef Hartinger
Assignee: Martin Kouba
Fix For: 1.1.0.CR1
Recent bug reports in Weld (WELD-996, WELD-997) indicate that these parts of the specification are not tested well enough by the TCK. Please improve test coverage in this area. Tests for the issues mentioned above are written to be portable thus can be reused in the TCK:
org.jboss.weld.tests.interceptors.extension.CustomInterceptorRegistrationTest.testCustomInterceptorRegistration()
org.jboss.weld.tests.interceptors.extension.CustomInterceptorInvocationTest.testCustomInterceptorInvocation()
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] (WELD-912) Specializing beans in different bean archives does not work
by Ales Justin (Resolved) (JIRA)
[ https://issues.jboss.org/browse/WELD-912?page=com.atlassian.jira.plugin.s... ]
Ales Justin resolved WELD-912.
------------------------------
Resolution: Done
> Specializing beans in different bean archives does not work
> -----------------------------------------------------------
>
> Key: WELD-912
> URL: https://issues.jboss.org/browse/WELD-912
> Project: Weld
> Issue Type: Bug
> Components: Bootstrap and Metamodel API
> Affects Versions: 1.1.1.Final
> Reporter: Nicklas Karlsson
> Assignee: Ales Justin
> Fix For: 1.1.4.Final
>
> Attachments: test.zip
>
>
> @Specializing a bean that is deployed in a different bean archive fails with the following exception:
> Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000047 Specializing bean must extend another bean: Managed Bean [class fi.affecto.test.MyApplicationBundles] with qualifiers [@Any @Default]
> at org.jboss.weld.bean.ManagedBean.specialize(ManagedBean.java:545)
> at org.jboss.weld.bean.AbstractBean.initialize(AbstractBean.java:124)
> at org.jboss.weld.bean.AbstractClassBean.initialize(AbstractClassBean.java:202)
> at org.jboss.weld.bean.ManagedBean.initialize(ManagedBean.java:372)
> at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:113)
> at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:216)
> at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:370)
> at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82)
> at org.jboss.as.weld.services.WeldService.start(WeldService.java:89)
> ... 4 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[JBoss JIRA] Created: (WELD-802) Specialization of Beans registered through portable extension does not work.
by Jozef Hartinger (JIRA)
Specialization of Beans registered through portable extension does not work.
----------------------------------------------------------------------------
Key: WELD-802
URL: https://issues.jboss.org/browse/WELD-802
Project: Weld
Issue Type: Bug
Affects Versions: 1.1.0.CR2
Reporter: Jozef Hartinger
@ApplicationScoped
public class SeamExceptionMapper implements ExceptionMapper<Throwable>
{
}
@ApplicationScoped
@Specializes
public class CatchExceptionMapper extends SeamExceptionMapper
{
}
both these beans are registered via a portable extension:
event.addAnnotatedType(manager.createAnnotatedType(CatchExceptionMapper.class));
event.addAnnotatedType(manager.createAnnotatedType(SeamExceptionMapper.class));
The app fails to deploy with the following exception:
15:08:15,668 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=vfs:///home/jharting/jboss/Seam_3/jboss-6.0.0.20101110-CR1/server/default/deploy/seam-tasks.war_WeldBootstrapBean state=Create: org.jboss.weld.exceptions.DefinitionException: WELD-000047 Specializing bean must extend another bean: Managed Bean [class org.jboss.seam.rest.exceptions.CatchExceptionMapper] with qualifiers [@Any @Default]
at org.jboss.weld.bean.ManagedBean.specialize(ManagedBean.java:530) [:6.0.0.20101110-CR1]
at org.jboss.weld.bean.AbstractBean.initialize(AbstractBean.java:112) [:6.0.0.20101110-CR1]
at org.jboss.weld.bean.AbstractClassBean.initialize(AbstractClassBean.java:172) [:6.0.0.20101110-CR1]
at org.jboss.weld.bean.ManagedBean.initialize(ManagedBean.java:366) [:6.0.0.20101110-CR1]
at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:110) [:6.0.0.20101110-CR1]
at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:216) [:6.0.0.20101110-CR1]
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:359) [:6.0.0.20101110-CR1]
at org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.boot(BootstrapBean.java:92) [:6.0.0.20101110-CR1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:60) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) [jboss-reflect.jar:2.2.0.Alpha9]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:257) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:202) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.Alpha10]
at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.Alpha8]
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.Alpha8]
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.Alpha8]
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.20101110-CR1]
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:130) [:0.1.0.Alpha1]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:240) [:0.1.0.Alpha1]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.complete(HDScanner.java:192) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.TwoPCActionWrapper.doComplete(TwoPCActionWrapper.java:59) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.complete(AbstractTwoPhaseModificationAction.java:74) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:94) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.1.0.Alpha1]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:135) [:0.1.0.Alpha1]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.scan(HDScanner.java:146) [:0.1.0.Alpha1]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.run(HDScanner.java:90) [:0.1.0.Alpha1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_23]
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [:1.6.0_23]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [:1.6.0_23]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [:1.6.0_23]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [:1.6.0_23]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [:1.6.0_23]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months