[JBoss JIRA] Created: (AS7-1676) NPE in ComponentDescription$DefaultFirstConfigurator
by jaikiran pai (JIRA)
NPE in ComponentDescription$DefaultFirstConfigurator
----------------------------------------------------
Key: AS7-1676
URL: https://issues.jboss.org/browse/AS7-1676
Project: Application Server 7
Issue Type: Bug
Components: EE
Affects Versions: 7.0.1.Final
Reporter: jaikiran pai
Assignee: Stuart Douglas
Attachments: war-error.war
A missing component class can lead to a NPE in ComponentDescription$DefaultFirstConfigurator. See referenced forum thread for details
Here's the stacktrace:
{code}
Caused by: java.lang.NullPointerException
at org.jboss.as.ee.component.ComponentDescription$DefaultFirstConfigurator.configure(ComponentDescription.java:532)
at org.jboss.as.ee.component.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:65)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115)
... 5 more
{code}
Sample application reproducing this issue is attached to this JIRA
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (EJBTHREE-2270) CLONE - Incorrect JNDI binding log messages being printed to the server.log file for EJB3 deployed bean with @RemoteBinding and @LocalBinding
by Taneem Ibrahim (JIRA)
CLONE - Incorrect JNDI binding log messages being printed to the server.log file for EJB3 deployed bean with @RemoteBinding and @LocalBinding
---------------------------------------------------------------------------------------------------------------------------------------------
Key: EJBTHREE-2270
URL: https://issues.jboss.org/browse/EJBTHREE-2270
Project: EJB 3.0
Issue Type: Bug
Components: ejb3
Environment: EAP 5.1.1
Reporter: Taneem Ibrahim
Priority: Minor
Attachments: CalculatorEJB.jar
When an ejb is annotated with @RemoteBinding and @LocalBinding, the binding messages in the server.log is missing the Local JNDI binding value as well as incorrect remote binding information is printed.
For the following EJB3 bean:
@Stateless
@RemoteBinding(jndiBinding="XXXXXRemote")
@LocalBinding(jndiBinding="XXXXXLocal")
public class CalculatorBean implements CalculatorLocal, CalculatorRemote {
//some implementation code here ....
}
When the JNDI binding messages for it gets registered in the server.log, it prints:-
15:55:45,877 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3
15:55:45,878 INFO [JBossASKernel] with dependencies:
15:55:45,878 INFO [JBossASKernel] and demands:
15:55:45,878 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
15:55:45,878 INFO [JBossASKernel] and supplies:
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote
15:55:45,878 INFO [JBossASKernel] jndi:XXXXXRemote
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local-com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote-com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Added bean(jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3) to KernelDeployment of: CalculatorEJB.jar
There are two issues with the above print message:-
1. It does not print the "XXXXXLocal" JNDI binding.
2. It prints the standard <ejbName>/<remote|local> messages even though @RemoteBinding and @LocalBinding annotations were presen:-
jndi:CalculatorBean/remote
jndi:CalculatorBean/local
It should only print:-
jndi:XXXXXRemote
jndi:XXXXXLocal
The code in reference is in org.jboss.ejb3.deployers.JBossASKernel class:-
log.info("installing bean: " + name);
log.info(" with dependencies:");
for (Object obj : policy.getDependencies())
{
Object msgObject = obj;
if (obj instanceof AbstractDemandMetaData)
{
msgObject = ((AbstractDemandMetaData)obj).getDemand();
}
log.info("\t" + msgObject);
}
log.info(" and demands:");
for(DemandMetaData dmd : policy.getDemands())
{
log.info("\t" + dmd.getDemand());
}
log.info(" and supplies:");
for(SupplyMetaData smd : policy.getSupplies())
{
log.info("\t" + smd.getSupply());
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBRULES-3224) ClassCastException when comparing class type attributes to null
by Edson Tirelli (JIRA)
ClassCastException when comparing class type attributes to null
---------------------------------------------------------------
Key: JBRULES-3224
URL: https://issues.jboss.org/browse/JBRULES-3224
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.3.0.CR1
Reporter: Edson Tirelli
Assignee: Edson Tirelli
Fix For: 5.3.0.Final, 5.4.0.Beta1
Reported by Thomas:
============================
I've just tried upgrading from Drools 5.3.0-CR1 from the beta and I've hit a regression.
JBoss seems to have been down for most of today so I haven't been able to raise a Jira for it.
In our model we have Facts which contain fields of java.lang.class, we then have a rule which checks that they aren't null.
Eg
Fact { Class<Object> classField}
Rule "xyz"
When
Fact(classField != null)
Then
...
End
This is giving the following exception
Caused by: java.lang.ClassCastException: org.drools.base.field.ObjectFieldImpl cannot be cast to org.drools.base.field.ClassFieldImpl
at org.drools.base.evaluators.EqualityEvaluatorsDefinition$ClassEqualEvaluator.evaluate(EqualityEvaluatorsDefinition.java:1772)
at org.drools.rule.LiteralRestriction.isAllowed(LiteralRestriction.java:87)
at org.drools.rule.LiteralConstraint.isAllowed(LiteralConstraint.java:109)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:130)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:451)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:369)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:451)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:379)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:204)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:244)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:330)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:291)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:882)
at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:180)
... 149 more
Wrapping the classField != null within an eval appears to be a work around.
This is in the suspect method:
public boolean evaluate(InternalWorkingMemory workingMemory,
final InternalReadAccessor extractor,
final Object object1, final FieldValue object2) {
Object value1 = extractor.getValue( workingMemory, object1 );
Object value2 = object2.getValue();
if ( value2 == null ) {
ClassFieldImpl classField = (ClassFieldImpl) object2;
value2 = classField.resolve( workingMemory );
}
return comparator.equals( value1, value2 );
}
I think the if statement just needs an instanceof check as well or some other way to track the fact that null may be a valid value to be comparing with!
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Commented: (AS7-1880) ManagementClient.getBinding() produces IllegalArgumentException
by Juergen Zimmermann (JIRA)
[ https://issues.jboss.org/browse/AS7-1880?page=com.atlassian.jira.plugin.s... ]
Juergen Zimmermann commented on AS7-1880:
-----------------------------------------
I just tried a freshly installed JBoss 7.0.2 and pom.xml is having a dependency on org.jboss.as:jboss-as-arquillian-container-remote:7.0.2.Final : the issue is gone.
> ManagementClient.getBinding() produces IllegalArgumentException
> ---------------------------------------------------------------
>
> Key: AS7-1880
> URL: https://issues.jboss.org/browse/AS7-1880
> Project: Application Server 7
> Issue Type: Bug
> Components: Test Suite
> Affects Versions: 7.0.1.Final
> Environment: JBossAS Jenkins build 1605
> Reporter: Juergen Zimmermann
> Fix For: 7.1.0.Beta1
>
>
> I upgraded from build 1590 to build 1605 because of AS7-1636. However, my Arquillian tests don't work any more. I'm getting the following stacktrace. The error message in the JBoss console is copied below.
> Stacktrace in the Maven console:
> 2011-09-11 16:11:38,589 ERROR org.jboss.as.arquillian.protocol.jmx.ArquillianServiceDeployer - Cannot deploy arquillian service
> java.lang.IllegalArgumentException: Illegal character in authority at index 7: http://${jboss.bind.address.public:127.0.0.1}:8080
> at java.net.URI.create(URI.java:859)
> at org.jboss.as.arquillian.container.ManagementClient.getBinding(ManagementClient.java:181)
> at org.jboss.as.arquillian.container.ManagementClient.extractSubSystemURI(ManagementClient.java:148)
> at org.jboss.as.arquillian.container.ManagementClient.getSubSystemURI(ManagementClient.java:90)
> at org.jboss.as.arquillian.container.ManagementClient.getDeploymentMetaData(ManagementClient.java:96)
> at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:98)
> at org.jboss.as.arquillian.protocol.jmx.ArquillianServiceDeployer.doServiceDeploy(ArquillianServiceDeployer.java:58)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:142)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:115)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:258)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:114)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:86)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:79)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:250)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:226)
> at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:78)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:97)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:68)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:54)
> 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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114)
> at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
> at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:158)
> at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:290)
> at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:45)
> at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:175)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
> at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:123)
> at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
> 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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
> at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
> at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:172)
> at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:104)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:70)
> Caused by: java.net.URISyntaxException: Illegal character in authority at index 7: http://${jboss.bind.address.public:127.0.0.1}:8080
> at java.net.URI$Parser.fail(URI.java:2827)
> at java.net.URI$Parser.parseAuthority(URI.java:3165)
> at java.net.URI$Parser.parseHierarchical(URI.java:3076)
> at java.net.URI$Parser.parse(URI.java:3032)
> at java.net.URI.<init>(URI.java:595)
> at java.net.URI.create(URI.java:857)
> ... 109 more
> Error message in the JBoss Console
> 16:11:44,336 ERROR [org.jboss.as.controller] (pool-1-thread-1) Operation ("add") failed - address: ([("deployment" => "arquillian-service")]): java.lang.IllegalStateException: Duplicate resource [("deployment" => "arquillian-service")]
> at org.jboss.as.controller.OperationContextImpl.addResource(OperationContextImpl.java:830) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.createResource(OperationContextImpl.java:798) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.server.deployment.DeploymentAddHandler.execute(DeploymentAddHandler.java:170)
> at org.jboss.as.controller.OperationContextImpl.executeStep(OperationContextImpl.java:353) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.doCompleteStep(OperationContextImpl.java:298) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.completeStep(OperationContextImpl.java:223) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.CompositeOperationHandler.execute(CompositeOperationHandler.java:83) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.executeStep(OperationContextImpl.java:353) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.doCompleteStep(OperationContextImpl.java:298) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.completeStep(OperationContextImpl.java:223) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:350) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.executeStep(OperationContextImpl.java:353) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.doCompleteStep(OperationContextImpl.java:298) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.OperationContextImpl.completeStep(OperationContextImpl.java:223) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:119) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doProcessRequest(ModelControllerClientOperationHandler.java:154) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$100(ModelControllerClientOperationHandler.java:85) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.call(ModelControllerClientOperationHandler.java:114) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.call(ModelControllerClientOperationHandler.java:112) [jboss-as-controller-7.1.0.Alpha1-SNAPSHOT.jar:7.1.0.Alpha1-SNAPSHOT]
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [:1.7.0]
> at java.util.concurrent.FutureTask.run(FutureTask.java:166) [:1.7.0]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0]
> at java.lang.Thread.run(Thread.java:722) [:1.7.0]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (EJBTHREE-2269) Incorrect JNDI binding log messages being printed to the server.log file for EJB3 deployed bean with @RemoteBinding and @LocalBinding
by Taneem Ibrahim (JIRA)
Incorrect JNDI binding log messages being printed to the server.log file for EJB3 deployed bean with @RemoteBinding and @LocalBinding
-------------------------------------------------------------------------------------------------------------------------------------
Key: EJBTHREE-2269
URL: https://issues.jboss.org/browse/EJBTHREE-2269
Project: EJB 3.0
Issue Type: Bug
Components: ejb3
Environment: EAP 5.1.1
Reporter: Taneem Ibrahim
Priority: Minor
Attachments: CalculatorEJB.jar
When an ejb is annotated with @RemoteBinding and @LocalBinding, the binding messages in the server.log is missing the Local JNDI binding value as well as incorrect remote binding information is printed.
For the following EJB3 bean:
@Stateless
@RemoteBinding(jndiBinding="XXXXXRemote")
@LocalBinding(jndiBinding="XXXXXLocal")
public class CalculatorBean implements CalculatorLocal, CalculatorRemote {
//some implementation code here ....
}
When the JNDI binding messages for it gets registered in the server.log, it prints:-
15:55:45,877 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3
15:55:45,878 INFO [JBossASKernel] with dependencies:
15:55:45,878 INFO [JBossASKernel] and demands:
15:55:45,878 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
15:55:45,878 INFO [JBossASKernel] and supplies:
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote
15:55:45,878 INFO [JBossASKernel] jndi:XXXXXRemote
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local-com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/local
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorLocal
15:55:45,878 INFO [JBossASKernel] jndi:CalculatorBean/remote-com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Class:com.jboss.example.ejb.CalculatorRemote
15:55:45,878 INFO [JBossASKernel] Added bean(jboss.j2ee:jar=CalculatorEJB.jar,name=CalculatorBean,service=EJB3) to KernelDeployment of: CalculatorEJB.jar
There are two issues with the above print message:-
1. It does not print the "XXXXXLocal" JNDI binding.
2. It prints the standard <ejbName>/<remote|local> messages even though @RemoteBinding and @LocalBinding annotations were presen:-
jndi:CalculatorBean/remote
jndi:CalculatorBean/local
It should only print:-
jndi:XXXXXRemote
jndi:XXXXXLocal
The code in reference is in org.jboss.ejb3.deployers.JBossASKernel class:-
log.info("installing bean: " + name);
log.info(" with dependencies:");
for (Object obj : policy.getDependencies())
{
Object msgObject = obj;
if (obj instanceof AbstractDemandMetaData)
{
msgObject = ((AbstractDemandMetaData)obj).getDemand();
}
log.info("\t" + msgObject);
}
log.info(" and demands:");
for(DemandMetaData dmd : policy.getDemands())
{
log.info("\t" + dmd.getDemand());
}
log.info(" and supplies:");
for(SupplyMetaData smd : policy.getSupplies())
{
log.info("\t" + smd.getSupply());
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JGRP-1368) RPC calls during view updates
by Andrey Vorobiev (JIRA)
RPC calls during view updates
-----------------------------
Key: JGRP-1368
URL: https://issues.jboss.org/browse/JGRP-1368
Project: JGroups
Issue Type: Bug
Affects Versions: 3.0
Environment: Java version: 1.6.0_22
JGroups: 3.0.0.CR1
Reporter: Andrey Vorobiev
Assignee: Bela Ban
Environment consists of one server node and several client nodes. When new client node joins group I should call some remote method on it from server node.
Client node source code:
import org.jgroups.*;
import org.jgroups.blocks.RpcDispatcher;
public class Client extends ReceiverAdapter{
public void start() throws Exception{
JChannel channel = new JChannel();
RpcDispatcher dispatcher = new RpcDispatcher(channel, this, this, this);
channel.connect("cluster");
}
public String doIt(String arg){
System.out.println("Client called: " + arg);
return arg;
}
public static void main(String[] args) throws Exception{
new Client().start();
}
}
Server node source code:
import java.util.*;
import org.jgroups.*;
import org.jgroups.blocks.*;
import org.jgroups.util.*;
public class Server extends ReceiverAdapter{
JChannel channel;
RpcDispatcher dispatcher;
public void start() throws Exception{
channel = new JChannel();
dispatcher = new RpcDispatcher(channel, null, this, this);
channel.connect("cluster");
}
public void viewAccepted(View view){
try
{
System.out.println("view accepted: " + view);
if (channel.isConnected())
{
callClients(view);
}
}
catch (Throwable e)
{
e.printStackTrace();
}
}
public void callClients(View view) throws Exception{
MethodCall call = new MethodCall("doIt", new Object[]{ "Hello world" }, new Class[]{String.class});
RspList<String> rsp = dispatcher.callRemoteMethods(filter(view.getMembers()), call, new RequestOptions(ResponseMode.GET_ALL, 10000));
for (Map.Entry<Address, Rsp<String>> pair : rsp.entrySet())
{
System.out.println(pair.getKey() + " -- " + pair.getValue().getValue());
}
}
public Collection<Address> filter(Collection<Address> addresses){
Collection<Address> result = new ArrayList<Address>();
for (Address address : addresses)
{
if (!address.equals(dispatcher.getChannel().getAddress()))
{
result.add(address);
}
}
return result;
}
public String doIt(String arg){
System.out.println("Server called: " + arg);
return arg;
}
public static void main(String[] args) throws Exception{
new Server().start();
}
}
If client node is started before server one everything work as expected.
But when server node is started before client one I observe following
in stdout from server node:
Sep 16, 2011 5:15:54 PM org.jgroups.logging.JDKLogImpl info
INFO: JGroups version: 3.0.0.CR1
Sep 16, 2011 5:15:54 PM org.jgroups.logging.JDKLogImpl warn
WARNING: receive buffer of socket java.net.DatagramSocket@7c6572b was
set to 20MB, but the OS only allocated 65.51KB. This might lead to
performance problems. Please set your max receive buffer in the OS
correctly (e.g. net.core.rmem_max on Linux)
Sep 16, 2011 5:15:54 PM org.jgroups.logging.JDKLogImpl warn
WARNING: receive buffer of socket java.net.MulticastSocket@6e84cc09
was set to 25MB, but the OS only allocated 65.51KB. This might lead to
performance problems. Please set your max receive buffer in the OS
correctly (e.g. net.core.rmem_max on Linux)
-------------------------------------------------------------------
GMS: address=andrey-8222, cluster=cluster, physical address=10.0.1.197:65216
-------------------------------------------------------------------
view [andrey-8222|0] [andrey-8222]
connected true
method called
[]
view [andrey-8222|1] [andrey-8222, andrey-63112]
connected true
Sep 16, 2011 5:16:17 PM org.jgroups.logging.JDKLogImpl warn
WARNING: andrey-8222: failed to collect all ACKs (expected=1) for view
[andrey-8222|1] [andrey-8222, andrey-63112] after 2000ms, missing ACKs
from [andrey-8222]
method called
[]
andrey-63112 -- null
Server called: Hello world
I'm confused by the following:
- server nodes tries to receive ACKs from itself (missing ACKs from [andrey-8222])
- rpc dispatcher calls server node (Server called: Hello world)
I can work around this issue by doing rpc call in separate thread. By in this case I sometimes receive null as call result from some nodes with following messages in client logs: no physical address for xxx.
Also I have some general questions about RPC dispatcher:
- are rpc calls supported during view update?
- what conditions I should wait for in order to guarantee rpc dispatcher's correct behavior?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months