Since c3p0 is only used for pooled connection factories, it should not be a required runtime dependency. Specifically, AS7 would rather not pull in c3p0 since AS7 will always use this cache store in conjunction with a managed connection factory. To make c3p0 optional, c3p0 classes should only be imported by the PooledConnectionFactory itself. Currently, there are c3p0 import statements within org.infinispan.loaders.jdbc.logging.Log which prevent c3p0 from being "optional".
N.B. To indicate an optional dependency in maven:
This will prevent c3p0 from being treated as a transient dependency of org.infinispan:infinispan-cachestore-jdbc.