on 09-25-2006 11:15 AM
Hello,
i want to develop a little application for the mi.
I use a little function in the backend to get user information like name, qualification etc...
The code for the synchronisation looks like this:
public String synchronize(boolean init){
String errorInSynchronize = null;
try{
//Logger
SyncLog mySyncLog = SyncLog.getInstance();
//String user = getUser();
User l_user = UserManager.getInstance().getCurrentUser();
//get user_uniqueID from l_user
String user = l_user.getUniqueID();
OutboundContainerFactory outfactory = OutboundContainerFactory.getInstance();
OutboundContainer outUser;
if (outfactory == null) {
errorInSynchronize = "OutboundContainerFactory.getInstance failed";
}
else
{
//set options for outboundContainer
outUser = outfactory.createOutboundContainer(VisibilityType.SEPARATED, R3_METHOD_INIT_USER, OutboundContainer.TYPE_REQUEST);
// add the name that has been typed into the JSP
outUser.addItem("SYNC_USER", user);
outUser.close();
SyncManager.getInstance().synchronizeWithBackend();
}//endif
}
catch (SyncException ex) {
errorInSynchronize = ex.getMessage();
}
finally {
//aLogger.log(Severities.DEBUG, "UserInformationManager: Get information from R3 for user done.");
}
return errorInSynchronize;
}//end synchronize
Everytime i want to synchronize i got the follow Failure Message:
java.lang.RuntimeException: nested transaction not supported by TransactionManager
java.lang.RuntimeException: nested transaction not supported by TransactionManager
at com.sap.ip.me.persist.core.IPersistenceManagerTXWrapper.beginTransaction(IPersistenceManagerTXWrapper.java:183)
at com.sap.ip.me.smartsync.persadp.Transaction.beginTransaction(Transaction.java:69)
at com.sap.ip.me.smartsync.persadp.PersistenceAdapterImpl.beginTransaction(PersistenceAdapterImpl.java:197)
at com.sap.ip.me.smartsync.persadp.PersistenceAdapterImpl.beginTransaction(PersistenceAdapterImpl.java:130)
at com.sap.ip.me.smartsync.meta.DescriptorRepository.onContextChange(DescriptorRepository.java:77)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.publishContextSwitch(SmartSyncRuntimeImpl.java:159)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.enterNewConext(SmartSyncRuntimeImpl.java:190)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.changeContext(SmartSyncRuntimeManager.java:261)
at com.sap.ip.me.smartsync.core.SmartSyncAdapterImpl.changeContext(SmartSyncAdapterImpl.java:96)
at com.sap.ip.me.core.ApplicationManager.switchSmartSyncContext(ApplicationManager.java:899)
at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:311)
at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1296)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:420)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:300)
at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)
at de.ids.me.ts.TS.synchronize(TS.java:220)
at de.ids.me.ts.TS.doHandleEvent(TS.java:116)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe(AbstractMEHttpServlet.java:343)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet(AbstractMEHttpServlet.java:687)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost(AbstractMEHttpServlet.java:704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(AbstractMEHttpServlet.java:311)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:534)
[20060925 10:09:54:473] E [MI/Smartsync ] No transaction started to commit.
java.lang.IllegalStateException: No transaction started to commit.
at com.sap.ip.me.smartsync.persadp.PersistenceAdapterImpl.rollback(PersistenceAdapterImpl.java:332)
at com.sap.ip.me.smartsync.meta.DescriptorRepository.onContextChange(DescriptorRepository.java:101)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.publishContextSwitch(SmartSyncRuntimeImpl.java:159)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.enterNewConext(SmartSyncRuntimeImpl.java:190)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.changeContext(SmartSyncRuntimeManager.java:261)
at com.sap.ip.me.smartsync.core.SmartSyncAdapterImpl.changeContext(SmartSyncAdapterImpl.java:96)
at com.sap.ip.me.core.ApplicationManager.switchSmartSyncContext(ApplicationManager.java:899)
at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:311)
at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1296)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:420)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:300)
at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)
at de.ids.me.ts.TS.synchronize(TS.java:220)
at de.ids.me.ts.TS.doHandleEvent(TS.java:116)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe(AbstractMEHttpServlet.java:343)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet(AbstractMEHttpServlet.java:687)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost(AbstractMEHttpServlet.java:704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(AbstractMEHttpServlet.java:311)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:534)
Knows anybody some kind of failure message and knows whats wrong?
Thanx
Hi,
didn't know anybody this problem?
The trace looks like this:
[20060927 07:36:11:969] I [MI/API/Logging ] ***** LOG / TRACE SWITCHED ON
[20060927 07:36:11:969] I [MI/API/Logging ] ***** Mobile Engine version: MI 25 SP 16 Patch 03 Build 200607280509
[20060927 07:36:11:969] I [MI/API/Logging ] ***** Current timezone: Europe/Berlin
[20060927 07:36:11:969] I [MI/Sync ] Thread=Thread-7 took lock for synchronization.
[20060927 07:36:11:969] P [MI/Sync ] Use following gateway for synchronization: "****"
[20060927 07:36:11:969] D [MI/Sync ] Synchronisation: Fire SyncEvent 0
[20060927 07:36:11:969] P [MI/Core ] Thread Thread-7 switched context to MI2853484152454429 / 4502273827DA004F020000003E99FAC3 (User: (SHARED), MSD: Name: / MOBILEENGINE_JSP (V. 251300), Target=, Type=com.sap.ip.me.core.FrameworkApplicationType) (stack level 1)
[20060927 07:36:11:969] I [MI/API/Sync ] SyncEvent Performing com.sap.ip.me.ccms.remotetracing.RemoteTracingListener on ConversationId MI2853484152454429
[20060927 07:36:11:969] D [MI/Smartsync ] Smart Sync framework: entering new context :MI2853484152454429 - MI2853484152454429
[20060927 07:36:11:969] E [MI/Smartsync ] Transaction FrameworkTransaction (Thread=null): Can not start a new transaction because there is still a pending one.
java.lang.IllegalStateException: Transaction FrameworkTransaction (Thread=null): Can not start a new transaction because there is still a pending one.
at com.sap.ip.me.smartsync.persadp.Transaction.beginTransaction(Transaction.java:57)
at com.sap.ip.me.smartsync.persadp.PersistenceAdapterImpl.beginTransaction(PersistenceAdapterImpl.java:197)
at com.sap.ip.me.smartsync.persadp.PersistenceAdapterImpl.beginTransaction(PersistenceAdapterImpl.java:130)
at com.sap.ip.me.smartsync.data.DataRuntimeImpl.onContextChange(DataRuntimeImpl.java:191)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.publishContextSwitch(SmartSyncRuntimeImpl.java:160)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.enterNewConext(SmartSyncRuntimeImpl.java:190)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.changeContext(SmartSyncRuntimeManager.java:261)
at com.sap.ip.me.smartsync.core.SmartSyncAdapterImpl.changeContext(SmartSyncAdapterImpl.java:96)
at com.sap.ip.me.core.ApplicationManager.switchSmartSyncContext(ApplicationManager.java:899)
at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:311)
at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1296)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:420)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:300)
at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)
at de.ids.me.ts.TS.synchronize(TS.java:226)
at de.ids.me.ts.TS.doHandleEvent(TS.java:122)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe(AbstractMEHttpServlet.java:343)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet(AbstractMEHttpServlet.java:687)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost(AbstractMEHttpServlet.java:704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(AbstractMEHttpServlet.java:311)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Unknown Source)
[20060927 07:36:11:979] E [AppLog/MI/API/Sync ] Problems while sync event processing
java.lang.RuntimeException: Transaction FrameworkTransaction (Thread=null): Can not start a new transaction because there is still a pending one.
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.publishContextSwitch(SmartSyncRuntimeImpl.java:166)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.enterNewConext(SmartSyncRuntimeImpl.java:190)
at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.changeContext(SmartSyncRuntimeManager.java:261)
at com.sap.ip.me.smartsync.core.SmartSyncAdapterImpl.changeContext(SmartSyncAdapterImpl.java:96)
at com.sap.ip.me.core.ApplicationManager.switchSmartSyncContext(ApplicationManager.java:899)
at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:311)
at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1296)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:420)
at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:300)
at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)
at de.ids.me.ts.TS.synchronize(TS.java:226)
at de.ids.me.ts.TS.doHandleEvent(TS.java:122)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe(AbstractMEHttpServlet.java:343)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet(AbstractMEHttpServlet.java:687)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doPost(AbstractMEHttpServlet.java:704)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(AbstractMEHttpServlet.java:311)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Unknown Source)
Thanx
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.