[infinispan-issues] [JBoss JIRA] (ISPN-5849) AutoCloseable return from adding listeners can be clunky to use

Galder Zamarreño (JIRA) issues at jboss.org
Mon Oct 12 03:29:00 EDT 2015


Galder Zamarreño created ISPN-5849:
--------------------------------------

             Summary: AutoCloseable return from adding listeners can be clunky to use
                 Key: ISPN-5849
                 URL: https://issues.jboss.org/browse/ISPN-5849
             Project: Infinispan
          Issue Type: Sub-task
            Reporter: Galder Zamarreño
            Assignee: Galder Zamarreño
             Fix For: 8.1.0.Final


On one side, to use it as a try-with-resource, you need to declare it right in the {{try()}};

{code}
      try(AutoCloseable handler = writeOnlyMap.listeners().onWrite(written ->
            System.out.printf("Written (via onWrite): %s%n", written.get()))) {
         Map<String, String> entries = new HashMap<>();
         entries.put("key1", "value1");
         entries.put("key2", "value2");

         writeOnlyMap.evalMany(entries, (v, writeView) -> writeView.set(v))
            .get(); // Wait for completable future
      }
{code}

So it's usability is mostly designed for unit tests since listeners tend to be set and removed at a later stage. IOW, listeners are not generally a short-lived object.

The other aspect that is clunky to use is the fact that AutoCloseable's close() throws Exception, which again makes it ackward to use for example if lambdas.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the infinispan-issues mailing list