[jboss-svn-commits] JBL Code SVN: r7803 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status: common/protocol portlet portlet/conf service/impl
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 24 05:46:52 EST 2006
Author: wrzep
Date: 2006-11-24 05:46:48 -0500 (Fri, 24 Nov 2006)
New Revision: 7803
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java
labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java
Log:
http://jira.jboss.com/jira/browse/JBLAB-809
fixing JMM service restart bug
Pawel
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java 2006-11-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/protocol/ScoresService.java 2006-11-24 10:46:48 UTC (rev 7803)
@@ -41,6 +41,9 @@
public void init(Configuration conf, ScoresManager scoresManager)
throws ScoresException;
+ public void update(Configuration conf, ScoresManager scoresManager)
+ throws ScoresException;
+
public void save() throws ScoresSaveException;
public void fillPluginsValues(Calendar cal, PluginsValuesRemote pv)
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java 2006-11-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/Status.java 2006-11-24 10:46:48 UTC (rev 7803)
@@ -53,7 +53,7 @@
* A class which handles Status Matrix information managment.
*/
public class Status {
-
+
/** Columns to display on the main page */
private Columns mainPageColumns;
@@ -198,7 +198,9 @@
try {
pluginsValues = scoresManager.getLatestScores();
} catch (ScoresException e) {
- log.warn("Failed to get latest scores.", e);
+ log.warn("Failed to get the latest scores. " +
+ "\nCause: " + e.getMessage());
+ log.debug("Exception while getting the latest scores.", e);
return;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java 2006-11-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/portlet/conf/ServiceScoresManager.java 2006-11-24 10:46:48 UTC (rev 7803)
@@ -54,31 +54,20 @@
private static final long serialVersionUID = -3398452363516977124L;
private Properties properties;
+ private Configuration conf;
private boolean asyncSave = false;
private Logger log;
public ServiceScoresManager(Configuration conf) throws ScoresException {
properties = conf.getScoresServiceConf().getProperties();
+ this.conf = conf;
log = Logger.getLogger(this.getClass());
- ScoresService service = getService();
-
- service.init(conf, this);
+ initService();
}
-
- private ScoresService getService() throws ScoresException {
-
- try {
- return Tools.getScoresService(properties);
- } catch (NamingException e) {
- throw new ScoresException(e);
- }
- }
-
-
public void saveAsync(final Projects projects,
final List<PluginConf> pluginsConf) {
@@ -211,4 +200,27 @@
ScoresService service = getService();
return service.getValue(pluginId, projectId, start, end);
}
+
+ private ScoresService getService() throws ScoresException {
+
+ try {
+ ScoresService service = Tools.getScoresService(properties);
+ service.update(conf, this);
+
+ return service;
+ } catch (NamingException e) {
+ throw new ScoresException(e);
+ }
+ }
+
+ private void initService() throws ScoresException {
+
+ try {
+ ScoresService service = Tools.getScoresService(properties);
+ service.init(conf, this);
+ } catch (NamingException e) {
+ throw new ScoresException(e);
+ }
+
+ }
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-11-23 21:08:17 UTC (rev 7802)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/impl/ScoresServiceImpl.java 2006-11-24 10:46:48 UTC (rev 7803)
@@ -62,8 +62,6 @@
@Service(objectName=Constants.JMM_SCORES_SERVICE)
@Management(ScoresService.class)
-//@Remote(ScoresService.class)
-//@RemoteBinding(jndiBinding=Constants.STATUS_REMOTE_SERVICE)
public class ScoresServiceImpl implements ScoresService {
@@ -72,6 +70,7 @@
private Logger log = Logger.getLogger(this.getClass());;
private String portalName;
+ private boolean initialized = false;
private ScoresManager scoresManager;
private ScoresRepositoryManager repositoryManager;
@@ -106,8 +105,24 @@
ScoresUpdater updater = Tools.getScoresUpdater();
updater.init(this, conf.getUpdateConf());
+
+ initialized = true;
}
+ /* This method will be called before every get/save call
+ * to ensure JMM sevice is initialized (it could be not in case of restart)
+ * TODO Move service conf to service side.
+ * */
+ public void update(Configuration conf, ScoresManager scoresManager)
+ throws ScoresException {
+
+ if (initialized) {
+ return;
+ } else {
+ init(conf,scoresManager);
+ }
+ }
+
/**
* Saves current plugin values.
*
@@ -201,17 +216,17 @@
}
public Object invoke(Invocation mi) throws Exception {
-
- log.debug("ScoresService.invoke> method=" + mi.getMethod().getName());
Object ret;
try {
+ log.debug("ScoresService.invoke> method=" + mi.getMethod().getName());
ret = mi.getMethod().invoke(this,mi.getArguments());
+
} catch (Exception e) {
- log.info(e);
- throw e;
+ log.warn("Failed to invoke method " + mi.getMethod().getName(), e);
+ throw e;
}
return ret;
More information about the jboss-svn-commits
mailing list