Это случилось со мной, когда я использовал выход php language construct; в середине транзакции. Затем эта транзакция «зависает», и вам нужно убить процесс mysql (описанный выше с помощью processlist;)
Для ответа на первую часть вопроса действительно необходимо разделить каждое перечисление значений с запятой. Насколько я знаю, нет никакого пути вокруг этого.
Лично у меня нет проблемы с кодом путем, Вы представили его. Походит на совершенно разумный способ зарегистрировать перечисление мне.
Существует сетевой инструмент поиска кода Google - http://www.google.com/codesearch
, я пробую к материалу поиска путем выполнения чего-то как "lang:java общедоступное перечисление"
Как Mike упомянул, действительно необходимо разделить перечислимые значения с запятыми, и они должны быть первыми вещами, перечисленными в перечислимом объявлении (переменные экземпляра, константы, конструкторы и методы могут следовать).
я думаю, что лучший способ зарегистрировать перечисления подобен регулярным классам: перечислимый тип получает описание функции и роль перечисления в целом (" Something values are used to indicate which mode of operation a client wishes...
"), и каждое перечисление значений получает описание Javadoc своей цели и функции (" FIRST_THING indicates that the operation should evaluate the first argument first..
").
, Если описания перечисления значений коротки, Вы могли бы хотеть поместить их на одну строку как /** Evaluate first argument first. */
, но я рекомендую сохранить каждое перечисление значений на его собственной строке. Большинство IDE может быть настроено для форматирования их этот путь автоматически.