[infinispan-dev] Comments on tutorials etc.

Pete Muir pmuir at redhat.com
Tue Jan 18 11:17:27 EST 2011


As part of getting up to speed with infinispan, I've been running through the docs and tutorials. Some thoughts

1) http://www.jboss.org/infinispan/downloads.html

One thing that is always annoying is having to configure the jboss repo. I suggest adding this snippet to the above page for people to copy, which can be pasted into either the pom, or into settings.xml, and is self contained.

   <profiles>
      <profile>
         <id>jboss-public-repository</id>
         <activation>
            <property>
               <name>jboss-public-repository</name>
               <value>!false</value>
            </property>
         </activation>
         <repositories>
            <repository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </repository>
         </repositories>
         <pluginRepositories>
            <pluginRepository>
               <id>jboss-public-repository-group</id>
               <name>JBoss Public Maven Repository Group</name>
               <url>http://repository.jboss.org/nexus/content/groups/public</url>
               <releases>
                  <enabled>true</enabled>
                  <updatePolicy>never</updatePolicy>
               </releases>
               <snapshots>
                  <enabled>false</enabled>
                  <updatePolicy>never</updatePolicy>
               </snapshots>
            </pluginRepository>
         </pluginRepositories>
      </profile>

   </profiles>

2) http://www.jboss.org/infinispan/downloads.html

Suggest adding two code snippet for the dependency too:

a)
    <properties>
      <infinispan.version>X.Y.Z.Q</infinispan.version>
   </properties>

b)
   <dependencies>
      <dependency>
         <groupId>org.infinispan</groupId>
         <artifactId>infinispan-core</artifactId>
         <version>${infinispan.version}</version>
      </dependency>
   </dependencies>

3) http://community.jboss.org/wiki/5minutetutorialonInfinispan

Cache cache = manager.getCache();

I get a warning with this line in Eclipse, as Cache should be a parameterized type. Doesn't break stuff, but doesn't look good that we advise people to write incorrect code.

4) http://community.jboss.org/wiki/5minutetutorialonInfinispan

To make this totally fool proof, might want to indicate how people can run this, e.g. in a main method on a class. This also really highlights how "lightweight" this stuff is (no need for a big server etc.)

5) http://community.jboss.org/wiki/5minutetutorialonInfinispan

For the expiration, might want to adjust the values a bit. 60s is a long time to wait, and also setting the expiration to 60s, and the thread sleep to 60s is risking the assertion failing (it did for me). I would suggest something more like 5s expiration, 10s sleep.

6) http://community.jboss.org/wiki/InstallingInfinispantutorialenvironment

This information is really useful, and I would suggest splitting out the groovy bit and then adding a link from the 5 min tutoiral

7) http://community.jboss.org/wiki/InstallingInfinispantutorialenvironment

Some of the instructions on this page could be clearer if they all built as code blocks. For example, following the groovy ones, I struggled reading the first paragraph, it would have been helpful to split this up and provide code snippets to use like:

$> cp $INFINISPAN_HOME/infinispan-core.jar ~/.groovy/lib/

etc.

8) http://community.jboss.org/wiki/InstallingInfinispantutorialenvironment

The location of infinispan-core jars and dependencies has changed from $INFNISPAN_HOME/modules/core to $INIFINISPAN_HOME, the tutorial needs updating

9) http://community.jboss.org/wiki/Infinispaninteractivetutorial

When doing the below line, I get an error:

And now, create a cache manager indicating the file with the cache definitions.
groovy:000> manager = new DefaultCacheManager("sample-configurations.xml"
)
===> org.infinispan.manager.DefaultCacheManager at 19cc1b@Address:
null

oovy:000> manager = new DefaultCacheManager("/Users/pmuir/Downloads/sample-configurations.xml")
ERROR java.io.IOException:
null
        at org.infinispan.config.InfinispanConfiguration.newInfinispanConfiguration (InfinispanConfiguration.java:264)
        at org.infinispan.config.InfinispanConfiguration.newInfinispanConfiguration (InfinispanConfiguration.java:282)
        at org.infinispan.config.InfinispanConfiguration.newInfinispanConfiguration (InfinispanConfiguration.java:136)
        at org.infinispan.manager.DefaultCacheManager.<init> (DefaultCacheManager.java:243)
        at org.infinispan.manager.DefaultCacheManager.<init> (DefaultCacheManager.java:229)
        at groovysh_evaluate.run (groovysh_evaluate:4)

and I don't know how to get past it, so I stopped this tutorial here.

10) http://community.jboss.org/wiki/InfinispanInteractiveTutorialwithScala

Could do with some comments explaining what each line is doing, some of the code isn't self describing

e.g.

what does me entering val defaultCache = manager.getCache[String, String]() actually achieve?

11) http://community.jboss.org/wiki/InfinispanInteractiveTutorialwithScala

It might be neat to split up input and output e.g. into different snippets - make it easier to read

12) http://community.jboss.org/wiki/InfinispanInteractiveTutorialwithScala

For "Cache with Transaction Management" I was not seeing TX semantics being obeyed, I saw the size increment as a added key-value pairs

13) http://community.jboss.org/wiki/SettingupanInfinispanCluster

When I do gc.setTransportClass(JGroupsTransport.class.getName()); and import JGroupsTransport I get two options, one from Infinispan and one from JGroups, tutorial should saw which to import.

14) http://community.jboss.org/wiki/SettingupanInfinispanCluster

The CacheManager is deprecated, I guess these needs updating to 4.2 API?

15) http://community.jboss.org/wiki/SettingupanInfinispanCluster

I would suggest adding some instructions about how to do a simple test to see the cluster working, atm the tutorial seems to end in middle of something. There are hints in the comment, but nothing concrete


More information about the infinispan-dev mailing list