Anylogic - Модель не работает в режиме браузера

Я создал модель в Anylogic 7, которая получает некоторые значения из моей базы данных mysql localhost. Он запускается, когда я экспортирую его в автономном режиме, но когда я тестирую его в режиме браузера, я получил сообщение об ошибке:

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

Не понимаю, в чем ошибка. Не удается подключиться к MySQL из-за политик безопасности JAVA?


person Community    schedule 24.10.2014    source источник


Ответы (1)


Вы очень ограничены при использовании Anylogic в веб-апплете. если вы посмотрите в файле справки anylogic, Справка Anylogic гласит:

В соответствии с лицензионным соглашением по программному обеспечению вы не можете получить доступ к каким-либо базам данных или файлам из апплетов моделирования.

поэтому кажется, что вам нужно жестко закодировать данные в модель

person Nikolaj Klitlund Børty    schedule 24.10.2014
comment
Да, хотя это ограничение AnyLogic, а не ограничение Java-апплета. Апплеты можно сделать так, чтобы они могли читать / писать в файлы и базы данных (что требует сложной конфигурации безопасности Java); просто AnyLogic экспортирует их способом, для которого эта настройка не предусмотрена (потому что это сложно из-за большого количества специфичных для модели --- и, возможно, специфических --- деталей --- деталей). (По крайней мере, я так понимаю; я все время хочу проверить, смогу ли я заставить работать такой экспортированный апплет ...) Если у вас есть доступ к эксперту по Java-апплетам, возможно, удастся заставить его работать. - person Stuart Rossiter; 28.10.2014