From f462db7c803324f0047de7f0c3800a9dfce5c213 Mon Sep 17 00:00:00 2001 From: Vladimir Dvorak Date: Thu, 16 Jan 2020 18:05:09 +0100 Subject: [PATCH] No repository reload without partialBean --- .../plugin/deltaspike/DeltaSpikePlugin.java | 16 +++++++--------- run-tests.sh | 2 ++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugin/hotswap-agent-deltaspike-plugin/src/main/java/org/hotswap/agent/plugin/deltaspike/DeltaSpikePlugin.java b/plugin/hotswap-agent-deltaspike-plugin/src/main/java/org/hotswap/agent/plugin/deltaspike/DeltaSpikePlugin.java index b1c1549f0..b977b13ce 100644 --- a/plugin/hotswap-agent-deltaspike-plugin/src/main/java/org/hotswap/agent/plugin/deltaspike/DeltaSpikePlugin.java +++ b/plugin/hotswap-agent-deltaspike-plugin/src/main/java/org/hotswap/agent/plugin/deltaspike/DeltaSpikePlugin.java @@ -102,14 +102,14 @@ public void registerRepositoryClasses(List> repositoryClassesList) { // ds>=1.9 public void registerRepoProxy(Object repoProxy, Class repositoryClass) { if (repositoryClasses == null) { - return; + return; } if (!registeredRepoProxies.containsKey(repoProxy)) { LOGGER.debug("DeltaspikePlugin - repository proxy registered : {}", repositoryClass.getName()); } Class checkedClass = repositoryClass; while(checkedClass != null && !repositoryClasses.contains(checkedClass)) { - checkedClass = checkedClass.getSuperclass(); + checkedClass = checkedClass.getSuperclass(); } if (checkedClass != null) { registeredRepoProxies.put(repoProxy, repositoryClass.getName()); @@ -134,7 +134,9 @@ public void registerWindowContext(Object windowContext) { public void classReload(CtClass clazz, Class original, ClassPool classPool) throws NotFoundException { checkRefreshViewConfigExtension(clazz, original); PartialBeanClassRefreshCommand cmd = checkRefreshPartialBean(clazz, original, classPool); - checkRefreshRepository(clazz, classPool, cmd); + if (cmd != null) { + checkRefreshRepository(clazz, classPool, cmd); + } } private PartialBeanClassRefreshCommand checkRefreshPartialBean(CtClass clazz, Class original, ClassPool classPool) throws NotFoundException { @@ -158,11 +160,7 @@ private void checkRefreshRepository(CtClass clazz, ClassPool classPool, PartialB cmd = new RepositoryRefreshCommand(appClassLoader, clazz.getName(), getRepositoryProxies(clazz.getName())); } if (cmd != null) { - if (masterCmd != null) { - masterCmd.addChainedCommand(cmd); - } else { - scheduler.scheduleCommand(cmd, WAIT_ON_REDEFINE); - } + masterCmd.addChainedCommand(cmd); } } } @@ -190,7 +188,7 @@ private boolean isRepository(CtClass clazz, ClassPool classPool) throws NotFound } CtClass superClass = clazz.getSuperclass(); if (superClass != null) { - return isRepository(superClass, classPool); + return isRepository(superClass, classPool); } return false; } diff --git a/run-tests.sh b/run-tests.sh index 1097a07b3..7667edbb6 100644 --- a/run-tests.sh +++ b/run-tests.sh @@ -23,6 +23,8 @@ function test { cd plugin/hotswap-agent-hibernate-plugin; ./run-tests.sh; cd ../.. cd plugin/hotswap-agent-hibernate3-plugin; ./run-tests.sh; cd ../.. cd plugin/hotswap-agent-weld-plugin; ./run-tests.sh; cd ../.. + cd plugin/hotswap-agent-owb-plugin; ./run-tests.sh; cd ../.. + cd plugin/hotswap-agent-deltaspike-plugin; ./run-tests.sh; cd ../.. cd plugin/hotswap-agent-resteasy-registry-plugin; ./run-tests.sh; cd ../.. }