Skip to content

Commit

Permalink
Merge branch 'master' into ee-9
Browse files Browse the repository at this point in the history
  • Loading branch information
bstansberry committed Nov 11, 2020
2 parents cd52d15 + 10b82f8 commit 96003e9
Show file tree
Hide file tree
Showing 17 changed files with 1,042 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import javax.transaction.TransactionRequiredException;
import javax.transaction.TransactionRolledbackException;

import org.jboss.as.ejb3.component.EJBComponentUnavailableException;
import org.jboss.invocation.ImmediateInterceptorFactory;
import org.jboss.invocation.Interceptor;
import org.jboss.invocation.InterceptorContext;
Expand Down Expand Up @@ -90,6 +91,9 @@ public Object processInvocation(final InterceptorContext context) throws Excepti
} catch (NoSuchEntityException e) {
// this exception explicitly forbids initializing a cause
throw copyStackTrace(new NoSuchObjectException(e.getMessage()), e);
} catch(EJBComponentUnavailableException e) {
// do not wrap this exception in RemoteException as it is not destined for the client (WFLY-13871)
throw e;
} catch (EJBException e) {
//as the create exception is not propagated the init method interceptor just stashes it in a ThreadLocal
CreateException createException = popCreateException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ public interface DeploymentRepository {

void resume();

boolean isSuspended();

/**
* Returns all deployments. These deployments may not be in a started state, i.e. not all components might be ready to receive invocations.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,11 @@ public void remove(DeploymentModuleIdentifier identifier) {
}
}

@Override
public boolean isSuspended() {
return suspended;
}

@Override
public void suspend() {
final List<DeploymentRepositoryListener> listeners;
Expand Down
20 changes: 17 additions & 3 deletions ejb3/src/main/java/org/jboss/as/ejb3/remote/AssociationImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -393,10 +393,19 @@ public ListenerHandle registerModuleAvailabilityListener(@NotNull final ModuleAv
@Override
public void listenerAdded(final DeploymentRepository repository) {
List<EJBModuleIdentifier> list = new ArrayList<>();
for (DeploymentModuleIdentifier deploymentModuleIdentifier : repository.getModules().keySet()) {
EJBModuleIdentifier ejbModuleIdentifier = toModuleIdentifier(deploymentModuleIdentifier);
list.add(ejbModuleIdentifier);

if (!repositoryIsSuspended()) {
// only send out the initial list if the deployment repository (i.e. the server + clean transaction state) is not in a suspended state
for (DeploymentModuleIdentifier deploymentModuleIdentifier : repository.getModules().keySet()) {
EJBModuleIdentifier ejbModuleIdentifier = toModuleIdentifier(deploymentModuleIdentifier);
list.add(ejbModuleIdentifier);
}
EjbLogger.EJB3_INVOCATION_LOGGER.debugf("Sending initial module availability to connecting client: server is not suspended");
} else {
// send out empty list if the deploymentRepository is suspended
EjbLogger.EJB3_INVOCATION_LOGGER.debugf("Sending empty initial module availability to connecting client: server is suspended");
}

moduleAvailabilityListener.moduleAvailable(list);
}

Expand Down Expand Up @@ -424,6 +433,11 @@ public void deploymentSuspended(DeploymentModuleIdentifier deployment) {
public void deploymentResumed(DeploymentModuleIdentifier deployment) {
moduleAvailabilityListener.moduleAvailable(Collections.singletonList(toModuleIdentifier(deployment)));
}

private boolean repositoryIsSuspended() {
return deploymentRepository.isSuspended();
}

};
deploymentRepository.addListener(listener);
return () -> deploymentRepository.removeListener(listener);
Expand Down
18 changes: 3 additions & 15 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@
<version.org.glassfish.soteria>1.0.1-jbossorg-1</version.org.glassfish.soteria>
<version.org.hamcrest>1.3</version.org.hamcrest>
<version.org.hamcrest.java-hamcrest>2.0.0.0</version.org.hamcrest.java-hamcrest>
<version.org.hibernate>5.3.18.Final</version.org.hibernate>
<version.org.hibernate>5.3.19.Final</version.org.hibernate>
<version.org.hibernate.commons.annotations>5.0.5.Final</version.org.hibernate.commons.annotations>
<version.org.hibernate.search>5.10.7.Final</version.org.hibernate.search>
<version.org.hibernate.validator>6.0.21.Final</version.org.hibernate.validator>
Expand All @@ -376,7 +376,7 @@
<version.org.javassist>3.23.2-GA</version.org.javassist>
<version.org.jberet>1.3.7.Final</version.org.jberet>
<version.org.jboss.activemq.artemis.integration>1.0.2</version.org.jboss.activemq.artemis.integration>
<version.org.jboss.arquillian.core>1.4.0.Final</version.org.jboss.arquillian.core>
<version.org.jboss.arquillian.core>1.6.0.Final</version.org.jboss.arquillian.core>
<version.org.jboss.common.jboss-common-beans>2.0.1.Final</version.org.jboss.common.jboss-common-beans>
<version.org.jboss.ejb-client>4.0.36.Final</version.org.jboss.ejb-client>
<version.org.jboss.ejb-client-legacy>3.0.3.Final</version.org.jboss.ejb-client-legacy>
Expand Down Expand Up @@ -445,7 +445,7 @@
<version.org.reactivestreams>1.0.3</version.org.reactivestreams>
<version.org.syslog4j>0.9.30</version.org.syslog4j>
<version.org.testng>6.14.3</version.org.testng>
<version.org.wildfly.arquillian>2.2.0.Final</version.org.wildfly.arquillian>
<version.org.wildfly.arquillian>3.0.1.Final</version.org.wildfly.arquillian>
<version.org.wildfly.core>14.0.0.Beta1</version.org.wildfly.core>
<version.org.wildfly.extras.creaper>1.6.1</version.org.wildfly.extras.creaper>
<version.org.wildfly.http-client>1.1.2.Final</version.org.wildfly.http-client>
Expand Down Expand Up @@ -8705,12 +8705,6 @@
<groupId>org.jboss.sasl</groupId>
<artifactId>jboss-sasl</artifactId>
</exclusion>
<!-- TODO remove this exclusion once this depends on Jakarta Inject -->
<!-- superseded by jakarta.inject:jakarta.inject-api -->
<exclusion>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
</exclusions>
</dependency>

Expand All @@ -8723,12 +8717,6 @@
<groupId>org.jboss.sasl</groupId>
<artifactId>jboss-sasl</artifactId>
</exclusion>
<!-- TODO remove this exclusion once this depends on Jakarta Inject -->
<!-- superseded by jakarta.inject:jakarta.inject-api -->
<exclusion>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
</exclusions>
</dependency>

Expand Down
Loading

0 comments on commit 96003e9

Please sign in to comment.