簡體   English   中英

熱交換代理,添加新類

[英]Hotswap Agent, add New Classes

我可以在Hotswap Agent上添加新的課程嗎? 我嘗試更改名稱方法,方法主體,字段,並且工作正常,但是當我添加新類並在另一個應用程序崩潰時調用它時,請不要執行該類的內容並且不會顯示錯誤。

package test;

public class TestNewClass 
{
        public void test()
    {
        System.out.println("test new class");
    }
}



@Controller
public class MenuController extends MainController
{
    @RequestMapping(value = "/menu/getMenu", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE_UTF_8)
        @ResponseBody
        public String getMenu(HttpServletResponse httpRessponse)
        {
            System.out.println("test 3 "+test);
            UserVitrina user = getUserVitrina();
            MenuHandler menuHandler = new MenuHandler();
            try
            {
                genericBO.openSessionTransaction();
                Map menu = menuHandler.getMenu(user.getIdUsuario());
                genericBO.commitTransaction();
                return new Gson().toJson(menu);
            }
            catch (Exception ex)
            {
                new Log().printLogError("MENU. Error obtener menu.", ex, (user == null ? "usuario nulo" : user.getUsername()), null, Resources.LogName.DEBUG);
                httpRessponse.setStatus(HttpStatus.BAD_GATEWAY.value());
                genericBO.abortTransaction();
                return new Gson().toJson(new MessageServer().generateMessageError(ex));
            }
            finally
            {
                genericBO.closeSession();
            }
        }
}

如果使用IDE進行熱交換,它將僅交換現有的類。 通過標准機制從類路徑中加載新類。 您的新課程在課程路徑上嗎? 如果您有例如multimodule maven項目,則可以從依賴模塊交換類,但是新類僅從內置的jar文件中加載。

要解決此問題,請將extraClaspath( http://hotswapagent.org/mydoc_configuration.html )添加到hotswap-agent.properties文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM