【问题标题】:Anylogic - Model don't run in Browser ModeAnylogic - 模型不在浏览器模式下运行
【发布时间】:2014-12-19 23:18:57
【问题描述】:

我在 Anylogic 7 中创建了一个模型,它从我的 localhost mysql 数据库中获取一些值。它在我以独立模式导出它时运行,但是当我在浏览器模式下对其进行测试时,我收到了错误消息:

CacheEntry[http://XXX.XXX.XXX.XXX/supply/com.xj.anylogic.engine.jar]:       
updateAvailable=true,lastModified=Fri Oct 24 08:33:50 EEST 2014,length=1401999
CacheEntry[http://XXX.XXX.XXX.XXX/supply/model.jar]: 
updateAvailable=true,lastModified=Fri Oct 24 08:33:50 EEST 2014,length=471484
0
CacheEntry[http://XXX.XXX.XXX.XXX/supply/lib/mysql-connector-java-5.1.33-bin.jar]:    
updateAvailable=true,lastModified=Fri Oct 24 08:33:50 EEST 2014,length=959987
Error during model creation:
ExceptionInInitializerError
Caused by: access denied ("java.util.PropertyPermission" "file.encoding" "read")
java.lang.ExceptionInInitializerError
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:307)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.xj.anylogic.engine.connectivity.Database.a(Unknown Source)
at com.xj.anylogic.engine.connectivity.Database.getConnection(Unknown Source)
at supply_chain.Factory.instantiateBaseStructure_xjal(Factory.java:1409)
at supply_chain.Factory.<init>(Factory.java:1394)
at supply_chain.Main.instantiate_factory_xjal(Main.java:589)
at supply_chain.Main.instantiateBaseStructure_xjal(Main.java:2863)
at supply_chain.Main.<init>(Main.java:2850)
at supply_chain.Simulation.createRoot(Simulation.java:3399)
at supply_chain.Simulation.createRoot(Simulation.java:1)
at com.xj.anylogic.engine.Experiment.a(Unknown Source)
at com.xj.anylogic.engine.ExperimentSimulation.b(Unknown Source)
at com.xj.anylogic.engine.ExperimentSimulation.run(Unknown Source)
at supply_chain.Simulation.executeShapeControlAction(Simulation.java:900)
Caused by: java.security.AccessControlException: access denied    
("java.util.PropertyPermission" "file.encoding" "read")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:118)
... 16 more

我不明白错误在哪里。由于 JAVA 安全策略,无法连接到 MySQL?

【问题讨论】:

    标签: mysql anylogic


    【解决方案1】:

    在 Web 小程序中使用 Anylogic 时您会受到很大限制。 如果您查看 anylogic 帮助文件,Anylogic help 它指出:

    根据软件许可协议,您不得从模拟小程序访问任何类型的数据库或文件。

    所以看来您必须将数据硬编码到模型中

    【讨论】:

    • 是的,尽管这是一个 AnyLogic 限制而不是 Java 小程序限制。 可以使小程序能够读取/写入文件和数据库(这需要复杂的 Java 安全配置);只是 AnyLogic 以一种没有这种设置的方式导出它们(因为它很复杂,有很多特定于模型的——可能是特定于环境的——细节)。 (至少这是我的理解;我一直想测试我是否可以让这样一个导出的小程序工作......)如果您可以访问 Java 小程序专家,它可能会使其工作。
    猜你喜欢
    • 2021-10-21
    • 2013-02-23
    • 2018-11-07
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多