Added try catch and rollback on transaction related to

PublicationController.createAndPublish(PublicationController.java:779).
null stack framejava.lang.Object.wait(Native Method)
null stack
frameorg.exolab.castor.persist.ObjectLock.acquireLoadLock(ObjectLock.java:439)
null stack
frameorg.exolab.castor.persist.LockEngine$TypeInfo.acquire(LockEngine.java:1329)
null stack
frameorg.exolab.castor.persist.LockEngine$TypeInfo.access$400(LockEngine.java:1178)
null stack
frameorg.exolab.castor.persist.LockEngine.load(LockEngine.java:415)
null stack
frameorg.castor.persist.AbstractTransactionContext.load(AbstractTransactionContext.java:570)
null stack
frameorg.exolab.castor.persist.QueryResults.fetch(QueryResults.java:204)
null stack
frameorg.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:646)
null stack
frameorg.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryImpl.java:629)
null stack