•  
  • Archives for Евгений Фицнер (25)
  • drfits-photo
  • drfits
  • Любитель сладкого, хорошего программного кода и умных идей.

JBOSS 5.1.0 GA — Halting VM

Categories: Other
Comments: No Comments
Published on: 10.02.2012

При запуске JBOSS 5.1 GA выкидывает следующую ошибку:

08:54:00,791 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
08:54:00,792 INFO  [ServerImpl] Release ID: JBoss [The Oracle] 5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)
08:54:00,792 INFO  [ServerImpl] Bootstrap URL: null
08:54:00,792 INFO  [ServerImpl] Home Dir: D:\dev\servers\jboss-5.1.0.GA
08:54:00,792 INFO  [ServerImpl] Home URL: file:/D:/dev/servers/jboss-5.1.0.GA/
08:54:00,793 INFO  [ServerImpl] Library URL: file:/D:/dev/servers/jboss-5.1.0.GA/lib/
08:54:00,794 INFO  [ServerImpl] Patch URL: null
08:54:00,794 INFO  [ServerImpl] Common Base URL: file:/D:/dev/servers/jboss-5.1.0.GA/common/
08:54:00,794 INFO  [ServerImpl] Common Library URL: file:/D:/dev/servers/jboss-5.1.0.GA/common/lib/
08:54:00,794 INFO  [ServerImpl] Server Name: default
08:54:00,794 INFO  [ServerImpl] Server Base Dir: D:\dev\servers\jboss-5.1.0.GA\server
08:54:00,795 INFO  [ServerImpl] Server Base URL: file:/D:/dev/servers/jboss-5.1.0.GA/server/
08:54:00,795 INFO  [ServerImpl] Server Config URL: file:/D:/dev/servers/jboss-5.1.0.GA/server/default/conf/
08:54:00,795 INFO  [ServerImpl] Server Home Dir: D:\dev\servers\jboss-5.1.0.GA\server\default
08:54:00,795 INFO  [ServerImpl] Server Home URL: file:/D:/dev/servers/jboss-5.1.0.GA/server/default/
08:54:00,795 INFO  [ServerImpl] Server Data Dir: D:\dev\servers\jboss-5.1.0.GA\server\default\data
08:54:00,796 INFO  [ServerImpl] Server Library URL: file:/D:/dev/servers/jboss-5.1.0.GA/server/default/lib/
08:54:00,796 INFO  [ServerImpl] Server Log Dir: D:\dev\servers\jboss-5.1.0.GA\server\default\log
08:54:00,796 INFO  [ServerImpl] Server Native Dir: D:\dev\servers\jboss-5.1.0.GA\server\default\tmp\native
08:54:00,796 INFO  [ServerImpl] Server Temp Dir: D:\dev\servers\jboss-5.1.0.GA\server\default\tmp
08:54:00,796 INFO  [ServerImpl] Server Temp Deploy Dir: D:\dev\servers\jboss-5.1.0.GA\server\default\tmp\deploy
08:54:01,309 INFO  [ServerImpl] Starting Microcontainer, bootstrapURL=file:/D:/dev/servers/jboss-5.1.0.GA/server/default/conf/bootstrap.xml
08:54:01,830 INFO  [VFSCacheFactory] Initializing VFSCache [org.jboss.virtual.plugins.cache.CombinedVFSCache]
08:54:01,833 INFO  [VFSCacheFactory] Using VFSCache [CombinedVFSCache[real-cache: null]]
08:54:02,067 INFO  [CopyMechanism] VFS temp dir: D:\dev\servers\jboss-5.1.0.GA\server\default\tmp
08:54:02,075 INFO  [ZipEntryContext] VFS force nested jars copy-mode is enabled.
08:54:02,807 INFO  [ServerInfo] Java version: 1.6.0_24,Sun Microsystems Inc.
08:54:02,807 INFO  [ServerInfo] Java Runtime: Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
08:54:02,807 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Client VM 19.1-b02,Sun Microsystems Inc.
08:54:02,807 INFO  [ServerInfo] OS-System: Windows 7 6.1,x86
08:54:02,808 INFO  [ServerInfo] VM arguments: -Dprogram.name=run.bat -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dfile.encoding=Cp1251
08:54:02,836 INFO  [JMXKernel] Legacy JMX core initialized
08:54:03,925 ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described
java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected= actual=
	at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395)
	at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153)
	at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)
	at org.jboss.joinpoint.plugins.BasicConstructorJoinPoint.dispatch(BasicConstructorJoinPoint.java:80)
	at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.createTarget(AOPConstructorJoinpoint.java:282)
	at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:103)
	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
	at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
	at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
	at org.jboss.kernel.plugins.dependency.InstantiateAction.installActionInternal(InstantiateAction.java:66)
	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
	at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
	at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
	at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
	at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
	at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
	at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
	at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:319)
	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:297)
	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130)
	at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76)
	at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:91)
	at org.jboss.bootstrap.microcontainer.TempBasicXMLDeployer.deploy(TempBasicXMLDeployer.java:161)
	at org.jboss.bootstrap.microcontainer.ServerImpl.doStart(ServerImpl.java:138)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:450)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
Failed to boot JBoss:
java.lang.IllegalStateException: Incompletely deployed:

DEPLOYMENTS IN ERROR:
  Deployment "AttachmentStore" is in error due to: java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected= actual=

DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "ProfileServiceBootstrap" is missing the following dependencies:
    Dependency "ProfileService" (should be in state "Installed", but is actually in state "Instantiated")
    Dependency "jboss.kernel:service=Kernel" (should be in state "Installed", but is actually in state "**ERROR**")
  Deployment "ProfileServicePersistenceDeployer" is missing the following dependencies:
    Dependency "AttachmentStore" (should be in state "Installed", but is actually in state "**ERROR**")
  Deployment "ProfileService" is missing the following dependencies:
    Dependency "jboss.kernel:service=KernelController" (should be in state "Installed", but is actually in state "**ERROR**")
    Dependency "ProfileServiceDeployer" (should be in state "Installed", but is actually in state "Instantiated")
  Deployment "ProfileServiceDeployer" is missing the following dependencies:
    Dependency "AttachmentStore" (should be in state "Installed", but is actually in state "**ERROR**")

	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.internalValidate(AbstractKernelDeployer.java:278)
	at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.validate(AbstractKernelDeployer.java:174)
	at org.jboss.bootstrap.microcontainer.ServerImpl.doStart(ServerImpl.java:142)
	at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:450)
	at org.jboss.Main.boot(Main.java:221)
	at org.jboss.Main$1.run(Main.java:556)
	at java.lang.Thread.run(Thread.java:662)
08:54:04,424 INFO  [ServerImpl] Runtime shutdown hook called, forceHalt: true
08:54:04,429 INFO  [ServerImpl] Shutdown complete
Shutdown complete
Halting VM

Чтобы избавиться от этого падения, нужно в файле conf/bootstrap/profile.xml добавить явно класс для работы с файлами (этот баг описан здесь: https://issues.jboss.org/browse/JBAS-6981):

<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
		<constructor><parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>

Нужно заменить на:

<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
		<constructor><parameter class="java.io.File"><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>

Т.е. добавили class=»java.io.File»
После данной замены — сервер будет запускаться без ошибки.

Перехват нажатия Enter на текстовом поле

Categories: JavaScript
Comments: No Comments
Published on: 22.11.2011

Для перехвата нажатой клавиши используется переопределение события onkeypress (возварщает true — если событие должно обрабатываться дальше при bubling, false — прерывает дальнейшее выполнение ), которое возникает в браузере при нажатии любой клавиши на клавиатуре. Пример использования:

function customOnKeyPress(evt) {
    var evt = (evt) ? evt : ((event) ? event : null);
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if ((evt.keyCode == 13) && (node.type=="text"))  {
        return false;
    }
}
var newObjectNameField = document.getElementById('textField');
newObjectNameField.onkeypress = customOnKeyPress;

node.type=="text" — указывает, что привязываем только к текстовому полю

Список плагинов которые облегчают программирование

Eclipse Color Themes или как сменить подсветку кода в редакторе

При программировании в Eclipse важным моментом является подсветка кода, ведь в подсвеченном коде разобраться куда проще и легче, чем в сплошном и плохо разделяемом, хотя тут некоторые могут поспорить :)

Для изменения подсветки кода в Eclipse я использую дополнение, которое называется Eclipse Color Themes для меня этот плагин удобен и установить его очень просто.
Сайт обновления: http://eclipse-color-theme.github.com/update/
Официальный сайт плагина: http://www.eclipsecolorthemes.org/

Java 7 и стоит ли её использовать?

Categories: Eclipse, IDE, Java
Comments: No Comments
Published on: 13.11.2011

После выхода в свет Java 7,  все стали бурно обсуждать критическую ошибку с циклами, которая была обнаружена и воспроизведена группой разработчиков Tomcat(если мне не изменяет память). Эта ошибка с циклами, по-заверениям разработчиков Java, будет исправлена в Java 7 Build 2, а пока этого не произошло, то можно использовать опцию JVM, которая изолирует этот баг (у меня за все время работы с Java 7 — небыло ни одного падения, а вот прирост скорости «на глаз» ощутим). Вписываем эту опцию при запуске JVM (например в eclipse.ini) и радуемся жизни:

-XX:-UseLoopPredicate

Eclipse «Contacting Software Sites» has encountered a problem

Categories: Eclipse, IDE, Java
Comments: No Comments
Published on: 13.11.2011

Сегодня столкнулся с очередной проблемой, которая как-всегда подкралась незаметно из-за угла. Дело обстояло следующим образом. После скачивания Eclipse Indigo 3.7 и запуска его в JVM 7 я обычно ставлю плагины, которые облегчают программирование, например подсветку синтаксиса в окне редактора, или авто дополнение кода JavaScript и т.п. После того, как я зашел в установку программ (Help -> Install New Software…) появилось сообщение «Problem Occurred»
Вот текст того, что написано при нажатии Details:

Some sites could not be found.  See the error log for more detail.
Unable to read repository at http://download.eclipse.org/eclipse/updates/3.7/compositeContent.xml.
Cannot assign requested address: connect
Unable to read repository at http://download.eclipse.org/technology/epp/packages/indigo/content.xml.
Cannot assign requested address: connect
Unable to read repository at http://andrei.gmxhome.de/eclipse/site.xml.
Cannot assign requested address: connect
Unable to read repository at http://download.eclipse.org/mylyn/releases/indigo/compositeContent.xml.
Cannot assign requested address: connect
Unable to read repository at http://regex-util.sourceforge.net/update/content.xml.
Cannot assign requested address: connect
Unable to read repository at http://download.eclipse.org/webtools/repository/indigo/compositeContent.xml.
Cannot assign requested address: connect
Unable to read repository at http://download.eclipse.org/technology/epp/packages/indigo/R/content.xml.
Cannot assign requested address: connect
Unable to read repository at http://download.eclipse.org/releases/indigo/content.xml.
Cannot assign requested address: connect

Само окно с ошибкой представлено на скриншоте:
Ошибка загрузки сайтов обновленийАналогичное сообщение о том, что Eclipse не может найти сайты с обновлениями, получаем и при добавлении какого-нибудь Update сайта для установки дополнений в Eclipse.
Решение проблемы оказалось как-всегда не тривиальным, но легким. Для этого необходимо открыть файл настроек Eclipse — eclipse.ini и вставить в конец него следующую строку:

-Djava.net.preferIPv4Stack=true

Из-за чего собственно проблема? Да из-за того, что попытки достучатся до сайта обновлений происходили по протоколу IPv6, а он у провайдера не поддерживается, поэтому мы принудительно заставляем использовать протокол IPv4.

Теперь после сохранения настроек и перезапуска Eclipse — никаких ошибок об отсутствующем сайте обновлений мы не получим.

Куда «посылать» искать информацию или «давай поищу вместо тебя в google»

Часто на форумах, в чатах, в ICQ и Skype нам задают много вопросов, которые вполне, при желании, можно было бы найти в Google, но по каким-то причинам не сделали этого. В таких случаях я предлагаю давать ссылки через сервис http://lmgtfy.com/ (На оригинале пишится как: Let me google that for you)

Для использования сервиса, просто вставляете ссылку в строку поиска, которая сделана как google и сервис Вам выдаст ссылку, перейдя по-которой человек, для которого Вы искали, увидит как пользоваться Google.

Библиотека тегов PrimeFaces

Categories: Java, JQuery, Other
Comments: No Comments
Published on: 17.10.2011

Привожу ссылку на достаточно хорошую библиотеку тегов и к тому же — бесплатную !
Библиотека находится здесь — http://www.primefaces.org

Презентацию можно увидеть на видео чуть ниже, в общем мне библиотека очень даже понравилась

Итерация по всем ключам Map

Categories: Java
Comments: No Comments
Published on: 14.10.2011

Итерация (т.е. последовательный перебор всех ключей) класса, который реализует Map интерфейс в Java, можно осуществить такими способами:

Map map = new HashMap();
for (Map.Entry<K,V> entry : map.entrySet()){
 // entry.getKey().customMethod(entry.getValue());
}

или таким

Map map = new HashMap();
for (K key : map.keySet()){
map.get(key).customMethod(entry.getValue());
}

Включение поддержки Java в браузере Firefox

Когда возникает вопрос запуска Java приложений в браузере Firefox, то нужно знать лишь одно:
- если у Вас Firefox 3.6 и выше, то для запуска Java приложений в браузере у Вас должна быть установлена Java версии 6 апдейт 10 и выше (т.е. Java 1.6.10 и выше);
- если версия Firefox ниже 3.6 , то версия Java — любая.
Для включения поддержки Java в Firefox, потребуется сделать следующее (инструкция для windows):

  1. Идём в ПускПанель приложений > Java (или может быть другое название — Java Control Panel) > Advance tab > Java Plug-in и отмечаем браузеры в которых хотим разрешить работу Java (браузеры при этом должны быть выключены), см. картинку ниже и делаем как на ней:
    Как должно быть отмечено
  2. После сохранения идём в Firefox и в разделе плагинов (Меню > Дополнения ) просто включаем появившейся плагин Java.

Теперь у Вас включена поддержка Java в браузере Firefox.

Бесплатный конструктор баз данных

Часто при проектировании баз данных встаёт вопрос о среде, где их можно было бы удобно проектировать, изменять, дополнять, менять связи между таблицами и желательно, чтобы это всё работало визуально, т.е. требуется конструктор баз данных. Такой конструктор баз данных есть, он  доступен из браузера он-лайн, т.е. теперь можно проектировать в любом месте где имеется интернет. Данный конструктор позволяет строить таблицы, изменять связи между ними, визуально двигать таблицы и генерировать SQL код для создания созданной схемы. Ниже на скриншоте можно посмотреть как оно вообще выглядит. Для маленького проекта вполне удобно использовать, для промышленных же целей к сожалению данный инструмент не пригоден, хотя кто-знает. Для входа в данный конструктор баз данных Вам необходимо вначале обзавестись почтовым ящиком который использует google account, без него Вы попросту не залогинитесь в этом конструкторе.

Адрес ресурса: http://dbdsgnr.appspot.com/

page 1 of 3»
EnglishFrenchGermanItalianPortugueseRussianSpanish

Welcome , today is Четверг, 23.02.2012