JdonFramework 6.6 執行Robot DCI兩次獲得Service不equals的疑問?
以下程式碼基於JdonFramewo6.6-->examples-->Robot
1、用於Application方式執行
public class RobotSetup {
public static void main(String[] args) {
AppUtil appUtil = new AppUtil();
Context context = (Context) appUtil.getService("context");
Context context1 = (Context) appUtil.getService("context");
System.out.println(context);
System.out.println(context1);
System.out.println(context.hashCode());
System.out.println(context1.hashCode());
System.out.println(context == context1);
System.out.println(context.hashCode() == context1.hashCode());
System.out.println(context.equals(context1));
appUtil.stop();
}
// output:
// com.test.jdon.demo.robot.service.TestContext@93d6bc
// com.test.jdon.demo.robot.service.TestContext@93d6bc
// 9688764
// 9688764
// false
// true
// false
}
發現兩次拿到的context hashcode相等,但是不==,不equals,誰能幫忙分析一下嗎?
2、用於Web App方式執行
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String myname = req.getParameter("myname");
System.out.println("doGet active :" + myname);
Context context = (Context) WebAppUtil.getService("context", req);
Context context1 = (Context) WebAppUtil.getService("context", req);
System.out.println(context);
System.out.println(context1);
System.out.println(context.hashCode());
System.out.println(context1.hashCode());
System.out.println(context == context1);
System.out.println(context.hashCode() == context1.hashCode());
System.out.println(context.equals(context1));
Robot robot = new Robot();
robot.setName(myname);
String id = Integer.toString(robot.hashCode());
robot.setId(id);
context.save(robot);
String result = context.hello(id);
resp.getWriter().print("robot response:" + result);
resp.getWriter().print("\n");
result = context.touch(id);
resp.getWriter().print("robot response:" + result);
resp.getWriter().close();
}
// output
// doGet active :jdon
// 2013-03-18 16:15:33,678 [http-8080-1] INFO JdonFramework - is ready.
// 2013-03-18 16:15:34,910 [http-8080-1] INFO JdonFramework - Jdon Framework started successfully!
// init object...
// com.test.jdon.demo.robot.service.TestContext@df33ae
// com.test.jdon.demo.robot.service.TestContext@df33ae
// 14627758
// 14627758
// true
// true
// false
}
發現兩次拿到的context hashcode相等,context==context1,但是不equals,誰能幫忙分析一下嗎?
1、用於Application方式執行
public class RobotSetup {
public static void main(String[] args) {
AppUtil appUtil = new AppUtil();
Context context = (Context) appUtil.getService("context");
Context context1 = (Context) appUtil.getService("context");
System.out.println(context);
System.out.println(context1);
System.out.println(context.hashCode());
System.out.println(context1.hashCode());
System.out.println(context == context1);
System.out.println(context.hashCode() == context1.hashCode());
System.out.println(context.equals(context1));
appUtil.stop();
}
// output:
// com.test.jdon.demo.robot.service.TestContext@93d6bc
// com.test.jdon.demo.robot.service.TestContext@93d6bc
// 9688764
// 9688764
// false
// true
// false
}
發現兩次拿到的context hashcode相等,但是不==,不equals,誰能幫忙分析一下嗎?
2、用於Web App方式執行
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String myname = req.getParameter("myname");
System.out.println("doGet active :" + myname);
Context context = (Context) WebAppUtil.getService("context", req);
Context context1 = (Context) WebAppUtil.getService("context", req);
System.out.println(context);
System.out.println(context1);
System.out.println(context.hashCode());
System.out.println(context1.hashCode());
System.out.println(context == context1);
System.out.println(context.hashCode() == context1.hashCode());
System.out.println(context.equals(context1));
Robot robot = new Robot();
robot.setName(myname);
String id = Integer.toString(robot.hashCode());
robot.setId(id);
context.save(robot);
String result = context.hello(id);
resp.getWriter().print("robot response:" + result);
resp.getWriter().print("\n");
result = context.touch(id);
resp.getWriter().print("robot response:" + result);
resp.getWriter().close();
}
// output
// doGet active :jdon
// 2013-03-18 16:15:33,678 [http-8080-1] INFO JdonFramework - is ready.
// 2013-03-18 16:15:34,910 [http-8080-1] INFO JdonFramework - Jdon Framework started successfully!
// init object...
// com.test.jdon.demo.robot.service.TestContext@df33ae
// com.test.jdon.demo.robot.service.TestContext@df33ae
// 14627758
// 14627758
// true
// true
// false
}
發現兩次拿到的context hashcode相等,context==context1,但是不equals,誰能幫忙分析一下嗎?
[該貼被owerlen於2013-03-18 16:30修改過]
相關文章
- 執行jdonframework的robot示例程式報錯Framework
- 最近看JdonFramework的疑問Framework
- 關於jdonframework框架的小疑問Framework框架
- Tomcat下執行jdonframework問題??TomcatFramework
- 初學jdonframework疑問。CQRS怎麼實現的?Framework
- java web執行緒安全的疑問JavaWeb執行緒
- vcenter執行兩年,突然訪問出現503 Service unavailableAI
- 對一個執行計劃的疑問
- 簡單的執行緒同步問題:兩個執行緒交替執行N次【Synchronized、Lock、ArrayBlockingQueue】執行緒synchronizedBloC
- not found service definition in jdonframework.xmlFrameworkXML
- 關於多執行緒協作的疑問執行緒
- 關於jdonframework-6.2.2中ModelUtil.isModel ()疑問Framework
- 解決react useEffect中的內容被執行兩次的問題React
- 點選label執行兩次的bug
- disruptor中多執行緒消費者的疑問執行緒
- Ubuentu crontab執行scala不執行問題
- 獲取執行次數最多和單次執行時間最長的10個SQLSQL
- 看Chain of Responsibility模式後得疑問AI模式
- 疑問:mybatis如何自定義SQL執行時長MyBatisSQL
- 獲得目標SQL語句執行計劃的方法SQL
- 指令碼:獲得現有語句的執行計劃指令碼
- JdonFramework問題!Framework
- 初學者執行jdonframework應用系統的步驟Framework
- 兩塊磁碟,oralce執行慢的問題
- 根據SQL Id獲得SQL語句的執行計劃SQL
- DCI和繼承並不矛盾繼承
- 配置jdonFramework框架的問題Framework框架
- bitmap to rowid執行計劃下的基數計算疑問
- 關於執行緒使用中的幾個疑問,請教大家!執行緒
- Crontab 任務不執行問題
- 通過等待事件來獲得查詢SQl的執行計劃事件SQL
- 多執行緒,你覺得你安全了?(執行緒安全問題)執行緒
- service會不會因repository而變得也很薄
- [20210926]並行執行計劃疑問.txt並行
- 請問banq jdonframework有關的Framework
- 多執行緒程式中對資料庫連線使用的疑問執行緒資料庫
- 2555. 兩個線段獲得的最多獎品
- 使用dbms_xplan包來獲得sql語句的執行計劃SQL