с помощью этого запроса
select tabname from syscat.tables where
tabschema='myschema' and tabname='MYLOG'
проверьте эту таблицу в вашей схеме
, если существует,
drop table myschema.MYLOG
, затем создайте
.
Неправильный манифест
Вы выполнили все шаги, необходимые для определения класса Instrumentation?
Особенно шаг «упаковки», который включает в себя указание несколько другого набора атрибутов в манифесте JAR. :
- Вместо
Main-Class
необходимо указать атрибутPremain-Class
, который дает полное имя класса класса, который реализуетpremain ()
в вашем агенте.
Premain-Class: my.package.MyAgentClass
Если ваш агент использует какие-либо библиотеки классов, вам следует указать атрибут
Boot-Class-Path
, поскольку вашему инструментальному агенту потребуется, чтобы его библиотеки были видны из загрузчика классов начальной загрузки.
Если вы этого не сделаете, вам, вероятно, придется использовать wacky-Xbootclasspath / a: ...
аргумент в пользу JVM.
Аргумент командной строки - неплохой способ добиться успеха, но вы хотите использовать этот атрибут в долгосрочной перспективе, потому что командная строка уже растет от необходимости указывать агент инструментария Java. Можно также сделать его максимально простым.Наконец, есть атрибут
Can-Redefine-Classes
.
Если для него задано значение true, агент инструментария Java может переопределить классы, которые использует сам агент.
Это довольно странное обстоятельство, и уж точно не возникнет много.
.
«Безмолвное исключение»
( Реджеев Дивакаран получил это).
Я использовал classBeingRedefined.getName ()
для печати имени класса.
classBeingRedefined
равен null
, когда он загружается впервые .
Суть в том, что существует необработанное исключение в методе преобразования .
Он будет молча съеден .