Я новичок в Gatling (2.1.2) и хочу сделать небольшой прототип проекта, чтобы показать моим коллегам.Создайте исполняемый JAR для теста загрузки Gatling
Согласно quick start странице, есть несколько способов, которыми я могу запустить моделирование с Гатлинга:
- распаковывать Гатлинга расслоение в папку и падение мои файлы моделирования в пользовательские файлы папки/симуляций. bin/gatling.sh будет компилировать и запускать файлы моделирования.
- использовать плагин maven для запуска симуляции.
- создайте проект с
gatling-highcharts-maven-archetype
и запустите класс Engine.
и я нашел те проблемы
Для 1, это трудно добавить зависимости для классов моделирования. Я должен выяснить, какие банки необходимы и отбросить их в папку lib.
Для 2 требуется установка maven.
Для 3, он работает только с IDE
Я просто хочу простой исполняемый файл JAR со всеми зависимостями сгруппированных вместе (мой моделирование, Гатлинга и третья сторона), и запустить его с любого компьютера (например, EC2 экземпляры).
Есть ли способ достичь этого?
Update 1:
Я попробовал метод 3, но переместить все файлы проекта из test
папки в main
и использовали maven-assembly-plugin
построить банку с зависимостями. Когда я попытался запустить файл, я получил следующее сообщение об ошибке:
Exception in thread "main" java.lang.ExceptionInInitializerError
at Engine$.delayedEndpoint$Engine$1(Engine.scala:7)
at Engine$delayedInit$body.apply(Engine.scala:4)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.collection.immutable.List.foreach(List.scala:381)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
at scala.App$class.main(App.scala:76)
at Engine$.main(Engine.scala:4)
at Engine.main(Engine.scala)
Caused by: java.nio.file.FileSystemNotFoundException
at com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171)
at com.sun.nio.zipfs.ZipFileSystemProvider.getPath(ZipFileSystemProvider.java:157)
at java.nio.file.Paths.get(Paths.java:143)
at io.gatling.core.util.PathHelper$.uri2path(PathHelper.scala:32)
at IDEPathHelper$.<init>(IDEPathHelper.scala:7)
at IDEPathHelper$.<clinit>(IDEPathHelper.scala)
... 11 more
Я предполагаю, что это что-то делать с конфигурацией Гатлинга, но не знаю, что пошло не так.
Если вы хотите построить PoC, почему бы вам не сначала придерживаться стратегий развертывания, которые официально поддерживаются? –
@StephaneLandelle, я на самом деле пробовал официальную стратегию, и именно так я нашел, что мне нужно было сбросить все банки в папку lib. Я просто хочу знать, возможно ли создание runnable JAR или нет, и почему. – stackoverflower
@Philippe, вы могли бы использовать метод 1 в моем вопросе. Вам нужно распаковать zip-файл пакета Gatling и вставить файл scala сценария в папку $ {GATLING}/user-files/simulations. Любая зависимая банка должна перейти в $ {GATLING}/lib (вам нужно создать папку, если она не входит в комплект). Затем вы можете запустить Gatling с помощью $ {GATLING} /bin/gatlin.sh. Файл [файл] (https://github.com/gatling/gatling/blob/master/gatling-bundle/src/universal/bin/gatling.sh) сообщает вам, как он работает. – stackoverflower