RTC Operation Participant Not Initializing
I am trying to create an operation participant plug-in. I have used this article to set up my environment and create the included sample advisor. This is working successfully. Using this reference I've created a new plug-in project which extends com.ibm.team.process.service.operationParticipants instead of *.operationAdvisors. And my class implements IOperationParticipant.
When I build to the server, the plug-in is not initializing. However, I receive no errors in the jazz.log. In the command line I cannot see the Console.out.println I added in the Activator class and in my RTC Project Area - Follow-up actions there are still 0 available.
What am I missing?
When I build to the server, the plug-in is not initializing. However, I receive no errors in the jazz.log. In the command line I cannot see the Console.out.println I added in the Activator class and in my RTC Project Area - Follow-up actions there are still 0 available.
What am I missing?
5 answers
Update - I am now getting an error in my log --
2010-10-28 18:13:53,102 WARN com.ibm.team.repository.service.internal.scheduler - CRJAZ0867I Attempted to remove the job "LogChangeEventAppenderTask" but the job is not scheduled.
2010-10-28 18:15:17,744 INFO uration.OverridablePropertyFileServerConfiguration - CRJAZ1363I Loading configuration from "file:///C%3a/RTC-EX~1.2IF/jazz/server/conf/jazz/teamserver.properties".
2010-10-28 18:15:19,636 INFO .repository.service.internal.rdb.ConnectionFactory - CRJAZ1365I Attempting Initial Database Connection Using
Db Name/Location: //localhost:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;
2010-10-28 18:15:19,877 INFO .repository.service.internal.rdb.ConnectionFactory - CRJAZ1364I Initial database connection successful
Db Product Name: Microsoft SQL Server
Db Product Version: 9.00.1399
Db URL: jdbc:sqlserver://localhost:1433;xopenStates=false;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=jazz;applicationName=Microsoft SQL Server JDBC Driver;
Jdbc Driver Name: Microsoft SQL Server JDBC Driver 2.0
Jdbc Driver Version: 2.0.1803.100
2010-10-28 18:15:20,087 INFO m.team.fulltext.service.internal.index.IndexConfig - CRJAZ8192I: Fulltext Index Location: C:\RTC-ExpressC-Server-2.0.0.2iFix3-Win32\jazz\server\workitemindex\fulltext_index
2010-10-28 18:15:20,087 INFO m.team.fulltext.service.internal.index.IndexConfig - CRJAZ8190E: The fulltext index location property (indexLocation) should point to an absolute directory but is currently set to 'workitemindex'
2010-10-28 18:16:02,137 WARN net.jazz.ajax.service.internal.http.ProxyHandler - No whitelist configured for web UI server
2010-10-28 18:16:02,137 WARN net.jazz.ajax.service.internal.http.ProxyHandler - Attempt made to make a remote request to URI https://localhost:9443/jazz/storage, but no whitelist is configured
2010-10-28 18:16:02,147 ERROR net.jazz.ajax.service.internal.http.ThemingHandler - Error creating namespace (response code 403): null
2010-10-28 18:13:53,102 WARN com.ibm.team.repository.service.internal.scheduler - CRJAZ0867I Attempted to remove the job "LogChangeEventAppenderTask" but the job is not scheduled.
2010-10-28 18:15:17,744 INFO uration.OverridablePropertyFileServerConfiguration - CRJAZ1363I Loading configuration from "file:///C%3a/RTC-EX~1.2IF/jazz/server/conf/jazz/teamserver.properties".
2010-10-28 18:15:19,636 INFO .repository.service.internal.rdb.ConnectionFactory - CRJAZ1365I Attempting Initial Database Connection Using
Db Name/Location: //localhost:1433;databaseName=jazz;user=xxxxxxxx;password=xxxxxxxx;
2010-10-28 18:15:19,877 INFO .repository.service.internal.rdb.ConnectionFactory - CRJAZ1364I Initial database connection successful
Db Product Name: Microsoft SQL Server
Db Product Version: 9.00.1399
Db URL: jdbc:sqlserver://localhost:1433;xopenStates=false;trustServerCertificate=false;sendStringParametersAsUnicode=true;selectMethod=direct;responseBuffering=adaptive;packetSize=8000;loginTimeout=15;lockTimeout=-1;lastUpdateCount=true;encrypt=false;disableStatementPooling=true;databaseName=jazz;applicationName=Microsoft SQL Server JDBC Driver;
Jdbc Driver Name: Microsoft SQL Server JDBC Driver 2.0
Jdbc Driver Version: 2.0.1803.100
2010-10-28 18:15:20,087 INFO m.team.fulltext.service.internal.index.IndexConfig - CRJAZ8192I: Fulltext Index Location: C:\RTC-ExpressC-Server-2.0.0.2iFix3-Win32\jazz\server\workitemindex\fulltext_index
2010-10-28 18:15:20,087 INFO m.team.fulltext.service.internal.index.IndexConfig - CRJAZ8190E: The fulltext index location property (indexLocation) should point to an absolute directory but is currently set to 'workitemindex'
2010-10-28 18:16:02,137 WARN net.jazz.ajax.service.internal.http.ProxyHandler - No whitelist configured for web UI server
2010-10-28 18:16:02,137 WARN net.jazz.ajax.service.internal.http.ProxyHandler - Attempt made to make a remote request to URI https://localhost:9443/jazz/storage, but no whitelist is configured
2010-10-28 18:16:02,147 ERROR net.jazz.ajax.service.internal.http.ThemingHandler - Error creating namespace (response code 403): null
Thanks huangqf, but I was already resetting the server with the URL provided.
As an Update: I've used the IBM Rational Team Concert Extensibility Workshop pdf from the workshop page -- http://jazz.net/library/article/477 to realize I also needed to add required Features to the Feature project. Now my Participant is showing as an option to save a work item. However, when I try to save the option I am getting the error - 'Failed to Instantiate Participant, an exception occurred creating extension.' In the log I'm getting a class not found error.
As an Update: I've used the IBM Rational Team Concert Extensibility Workshop pdf from the workshop page -- http://jazz.net/library/article/477 to realize I also needed to add required Features to the Feature project. Now my Participant is showing as an option to save a work item. However, when I try to save the option I am getting the error - 'Failed to Instantiate Participant, an exception occurred creating extension.' In the log I'm getting a class not found error.
Here's the error log now:
http-9443-Processor24] ERROR com.ibm.team.process.common - CRJAZ6011E:An exception occurred creating extension.
com.ibm.team.repository.common.transport.TeamServiceRegistryException: CRJAZ1107I The implementation class "workitem.extension.participant.defect.selectSeverityOnInitialSave" could not loaded from the bundle "workitem.extension.participant.defect".
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.checkKindOfImplementationClass(ExtensionServiceElementDescriptor.java:204)
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.createImplementation(ExtensionServiceElementDescriptor.java:251)
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.getImplemenationWithoutActivation(ExtensionServiceElementDescriptor.java:375)
at com.ibm.team.repository.common.transport.internal.registry.ExtensionServiceActivationManagerOwner.getImplementation(ExtensionServiceActivationManagerOwner.java:120)
at com.ibm.team.repository.common.transport.internal.registry.AbstractActivationManagerOwner.getImplementation(AbstractActivationManagerOwner.java:665)
at com.ibm.team.repository.common.transport.internal.registry.AbstractActivationManagerOwner.doActivate(AbstractActivationManagerOwner.java:580)
at com.ibm.team.repository.common.transport.internal.registry.ExtensionServiceActivationManagerOwner.doActivate(ExtensionServiceActivationManagerOwner.java:69)
at com.ibm.team.repository.common.transport.internal.registry.ExtensionServiceActivationManagerOwner.forceActivate(ExtensionServiceActivationManagerOwner.java:91)
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.getImplementation(ExtensionServiceElementDescriptor.java:354)
at com.ibm.team.process.internal.service.OperationParticipantServerRegistry.createParticipant(OperationParticipantServerRegistry.java:120)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.runParticipants(OperationAdviceManager.java:901)
at com.ibm.team.process.internal.common.advice.runtime.OperationAdviceManager.advise(OperationAdviceManager.java:290)
at com.ibm.team.process.internal.common.util.AbstractProcess.doAdvise(AbstractProcess.java:181)
at com.ibm.team.process.internal.service.ServerProcess.access$1(ServerProcess.java:1)
at com.ibm.team.process.internal.service.ServerProcess$2.run(ServerProcess.java:132)
at com.ibm.team.repository.service.internal.TransactionService$1.run(TransactionService.java:104)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:320)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:244)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:79)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:68)
at sun.reflect.GeneratedMethodAccessor179.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy44.runInTransaction(Unknown Source)
at com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:3384)
at com.ibm.team.process.internal.service.ProcessService.runInTransaction(ProcessService.java:3391)
at com.ibm.team.process.internal.service.ServerProcess.adviseAndExecute(ServerProcess.java:130)
at com.ibm.team.workitem.service.internal.AuditableServerProcess.adviseAndExecute(AuditableServerProcess.java:82)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.processSave(WorkItemRepositoryService.java:419)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.save(WorkItemRepositoryService.java:378)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.save(WorkItemRepositoryService.java:351)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.access$3(WorkItemRepositoryService.java:347)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService$1.run(WorkItemRepositoryService.java:230)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService$1.run(WorkItemRepositoryService.java:1)
at com.ibm.team.repository.service.internal.TransactionService$1.run(TransactionService.java:104)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:466)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:292)
at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:331)
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy21.withCurrentConnection(Unknown Source)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:288)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:244)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:79)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:68)
at sun.reflect.GeneratedMethodAccessor179.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy44.runInTransaction(Unknown Source)
at com.ibm.team.repository.service.AbstractService.runInTransaction(AbstractService.java:772)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.saveTransaction(WorkItemRepositoryService.java:219)
at com.ibm.team.workitem.service.internal.WorkItemRepositoryService.save(WorkItemRepositoryService.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy194.save(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleMethod(AbstractTeamServerServlet.java:1170)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.executeMethod(AbstractTeamServerServlet.java:926)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doPost(AbstractTeamServerServlet.java:728)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:1773)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1642)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1555)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:121)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:811)
Caused by:
java.lang.ClassNotFoundException: workitem.extension.participant.defect.selectSeverityOnInitialSave
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:483)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:399)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:605)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:315)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1274)
at com.ibm.team.repository.common.transport.AbstractElementDescriptor.basicLoadClass(AbstractElementDescriptor.java:78)
at com.ibm.team.repository.common.transport.AbstractElementDescriptor.loadClass(AbstractElementDescriptor.java:515)
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.getImplementationClass(ExtensionServiceElementDescriptor.java:389)
at com.ibm.team.repository.common.transport.registry.ExtensionServiceElementDescriptor.checkKindOfImplementationClass(ExtensionServiceElementDescriptor.java:198)
... 104 more
Please check your extension definition in the plugin.xml. It looks like the class ("workitem.extension.participant.defect.selectSeverityOnInitialSave") specified in the extension dose not exist. I guess the class name might be workitem.extension.participant.defect.S electSeverityOnInitialSave instead of workitem.extension.participant.defect.s electSeverityOnInitialSave.