[
https://issues.apache.org/jira/browse/GEODE-5644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16988072#comment-16988072
]
ASF subversion and git services commented on GEODE-5644:
--------------------------------------------------------
Commit 24bf1ea53bd4fe6a0228cb473a86ce80485a606c in geode's branch
refs/heads/develop from Kirk Lund
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=24bf1ea ]
Merge pull request #4401 from kirklund/GEODE-5644-DistributedReference
GEODE-5644: Add new DistributedReference JUnit Rule
> New DistributedReference JUnit rule for DistributedTests
> --------------------------------------------------------
>
> Key: GEODE-5644
> URL: https://issues.apache.org/jira/browse/GEODE-5644
> Project: Geode
> Issue Type: Wish
> Components: tests
> Reporter: Kirk Lund
> Assignee: Kirk Lund
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> I'd like to add a new DistributedReference JUnit rule for DistributedTests
> which would be used similar to an AtomicReference but with a reference that
> is useable within every DUnit VM.
> The idea is that this would allow us to define something like:
> {noformat}
> @Rule
> public DistributedReference<Cache> cacheReference = new
> DistributedReference<>();
> @Before
> public void setUp() {
> getVM(0).invoke(() -> cacheReference.set(new CacheFactory().create());
> }
> @After
> public void tearDown() {
> getVM(0).invoke(() -> cacheReference.get().close());
> }
> {noformat}
> Each DUnit VM would have its own instance of Cache (or other type) available
> to set and get with this rule.
> This enables us to the Geode APIs directly within a test without depending on
> more complex custom rules like CacheRule or ClusterStarterRule. This would
> make tests that use it more directly dependent on the User APIs and force us
> to become more aware of of the shortcomings of that API including its
> defaults. If the Geode User APIs for creating and closing Cache is so
> difficult or verbose to use or has the wrong defaults, then this will
> encourage us to fix the Geode User API instead of hiding it behind complex
> custom rules that act as an API Adapter layer.
> We could also consider adding support for java.io.Closeable since resources
> such as Cache implement Closeable. This would then obviate the need to
> implement @After in most cases.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)