In a Java EE environment a JMS provider is mandatory present and can be used without the user having to configure or setup anything.
Some implementations (e.g. JBoss AS), provide by default a JMS connection factory for this platform provided JMS provider (java:/ConnectionFactory and java:JmsXA), yet in other implementations (e.g. GlassFish) users have to create a connection factory themselves.
I would like to propose to formally introduce the concept of a platform default JMS connection factory and make this available under some portable JNDI name (e.g. java:/JmsConnectionFactory). The exact configuration of this factory should be an implementation detail, but the spirit of the specification should be that it must not be purposely crippled and should be principally intended for production use.
Besides shielding users from having to create a connection factory, an additional benefit might be that other platform JMS facilities that otherwise would need an explicit reference to a connection factory, could default to this standard connection factory.
E.g. from http://java.net/downloads/jms-spec/JMS2.0Devoxx2011.pdf slide 23: