-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PAYARA-3419: Support deploying timers to deployment group and non-persistent timer service #3853
Conversation
…oyment group Deployment Group does not refer to any specific configuration, therefore no timer service exists for the target.
This will use non-persistent timer -- all timers run only on node where they were created and not persist across restarts.
@@ -98,7 +99,7 @@ | |||
<sun:staticText id="msecs" style="padding: 8pt" text="$resource{i18n.common.Milliseconds}"/> | |||
</sun:property> | |||
<sun:property id="persistenceServiceProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18n_ejb.ejbTimerSettings.persistenceServiceLabel}" helpText="$resource{i18n_ejb.ejbTimerSettings.persistenceServiceHelp}" visible="#{true}" > | |||
<sun:dropDown id="EjbTimerService" selected="#{pageSession.valueMap['ejbTimerService']}" required="#{false}" value="#{pageSession.valueMap['ejbTimerService']}" labels={"Database","DataGrid"} values={"Database","DataGrid"} > | |||
<sun:dropDown id="EjbTimerService" selected="#{pageSession.valueMap['ejbTimerService']}" required="#{false}" value="#{pageSession.valueMap['ejbTimerService']}" labels={"Database","DataGrid","None"} values={"Database","DataGrid","None"} > |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remains in config for compatibility reasons
jenkins test please |
appserver/ejb/ejb-connector/src/main/java/org/glassfish/ejb/config/EjbTimerService.java
Outdated
Show resolved
Hide resolved
jenkins test please |
* Supported values: | ||
* <ul> | ||
* <li>{@value #TYPE_DATABASE} for database-backed persistence</li> | ||
* <li>"DataGrid" for DataGrid-backed persistence</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace "DataGrid" with {@value #TYPE_DATAGRID}
@@ -68,6 +68,8 @@ | |||
|
|||
@Configured | |||
public interface EjbTimerService extends ConfigBeanProxy, PropertyBag { | |||
String TYPE_NONE = "None"; | |||
String TYPE_DATABASE = "Database"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps TYPE_DATAGRID constant can be added to list all timer types.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I included these two was, that these are special -- one is default, the other has special behaviour. There's nothing else in the code that would actually match against value DataGrid in the code, and changing the value would not affect the behavior of the server. Therefore I believe it would be misleading to bake it into API.
asadmin deploy
no longer fails when application with timers are deployed to a deployment group.EJB Timer Service offers option of persistence type None, where all timers are treated like non-persistent (as in Web Profile / EJB Lite).