[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-4408) Unable to easily replace asynchronous dispatchers because of package-private methods

Reid Pinchback (JIRA) jira-events at lists.jboss.org
Fri Sep 11 11:40:23 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBSEAM-4408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12485386#action_12485386 ] 

Reid Pinchback commented on JBSEAM-4408:
----------------------------------------

and to constructors in CronSchedule and TimerSchedule.

> Unable to easily replace asynchronous dispatchers because of package-private methods
> ------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-4408
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4408
>             Project: Seam
>          Issue Type: Feature Request
>          Components: Async
>    Affects Versions: 2.1.1.GA, 2.1.2.CR1, 2.1.2.CR2, 2.1.2.GA, 2.2.0.CR1, 2.2.0.GA
>            Reporter: Reid Pinchback
>
> One of the benefits of Seam is that you can install your open components to replace the built-in ones provided by Seam.
> I was attempting to replace the ThreadPoolDispatcher, when I encountered something that maybe should change in the Schedule and TimerSchedule API.  Instances of those classes can be created, but the values in them cannot be accessed because their accessors are package-private.  For example:
> public class Schedule implements Serializable {
>    private Long duration;
>    ...
>    Long getDuration()
>    {
>       return duration;
>    }
>   ...
> }
> Since the member variables are private, you can't create subclasses of Schedule or TimerSchedule to get at them, and because the accessors are package-private, you can't get at them that way.  Similarly any subclass of AbstractDispatcher in a different package can't access those values for determining the appropriate values for scheduled futures.
> The only work-arounds at present are pretty grungy - either creating a subclass of TimerSchedule that keeps shadow copies of the member variables, or placing the application-specific dispatcher code in a package whose name mimics the Seam package structure.  Neither is a show-stopper, but not really a good solution for a framework that is intentionally attempting to make itself extensible.
> I'd recommend making the Schedule and TimerSchedule accessors public.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list