use of org.jboss.as.ejb3.component.stateful.StatefulTimeoutInfo in project wildfly by wildfly.
the class StatefulTimeoutMergingProcessor method handleDeploymentDescriptor.
@Override
protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final StatefulComponentDescription componentConfiguration) throws DeploymentUnitProcessingException {
final SessionBeanMetaData data = componentConfiguration.getDescriptorData();
if (data == null) {
return;
}
if (data instanceof SessionBean31MetaData) {
SessionBean31MetaData sessionBean31MetaData = (SessionBean31MetaData) data;
final StatefulTimeoutMetaData statefulTimeout = sessionBean31MetaData.getStatefulTimeout();
if (statefulTimeout != null) {
TimeUnit unit = TimeUnit.MINUTES;
if (statefulTimeout.getUnit() != null) {
unit = statefulTimeout.getUnit();
}
componentConfiguration.setStatefulTimeout(new StatefulTimeoutInfo(statefulTimeout.getTimeout(), unit));
}
}
}
use of org.jboss.as.ejb3.component.stateful.StatefulTimeoutInfo in project wildfly by wildfly.
the class StatefulTimeoutMergingProcessor method handleAnnotations.
@Override
protected void handleAnnotations(final DeploymentUnit deploymentUnit, final EEApplicationClasses applicationClasses, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final StatefulComponentDescription componentConfiguration) throws DeploymentUnitProcessingException {
final EEModuleClassDescription clazz = applicationClasses.getClassByName(componentClass.getName());
//we only care about annotations on the bean class itself
if (clazz == null) {
return;
}
final ClassAnnotationInformation<StatefulTimeout, StatefulTimeoutInfo> timeout = clazz.getAnnotationInformation(StatefulTimeout.class);
if (timeout == null) {
return;
}
if (!timeout.getClassLevelAnnotations().isEmpty()) {
componentConfiguration.setStatefulTimeout(timeout.getClassLevelAnnotations().get(0));
}
}
use of org.jboss.as.ejb3.component.stateful.StatefulTimeoutInfo in project wildfly by wildfly.
the class StatefulTimeoutAnnotationInformationFactory method fromAnnotation.
@Override
protected StatefulTimeoutInfo fromAnnotation(final AnnotationInstance annotationInstance, final PropertyReplacer propertyReplacer) {
final long value = annotationInstance.value().asLong();
final AnnotationValue unitValue = annotationInstance.value("unit");
final TimeUnit unit;
if (unitValue != null) {
unit = TimeUnit.valueOf(unitValue.asEnum());
} else {
unit = TimeUnit.MINUTES;
}
return new StatefulTimeoutInfo(value, unit);
}
Aggregations