http://www.mberg.net/the_bad_jew/
and what I see?
Итак, чё было-то?
Вот апачи обрабатывает реквест, вызывает сервис. Сервис, он вызывает какую-то састу. Саста ищет сервис в каталоге. Каталог, он у себя имеет класс Impl (что трогательно), и говорит ему "работай, падла!"
Этот несчастный внутренний Impl, он сам работать не будет пока его Базовый Класс, BaseImpl (типа Обобщённый Пролетарий) не Проинициализируецца.
Этот пролетарий чо, он начинает трудиться, и у Помощников (helpers), которые не простые, а обладают Функциями, ExtFunc, просит сообщить Идентификатор Объекта. Эти Функции, судя по стилю идентификаторов, написаны беглыми сишарпниками, но это мы им простим.
Чтобы узнать Идентификатор Объекта ("ваш аусвайс!") Помощники пошли на Базу. Сбацали какой-то сиквел, и хотят, чтоб его исполнила какие-то там жар-птица.
Жар-птица (кстати, ставшая популярной в американском дискурсе благодаря, я думаю, Стравинскому) задумалась - нельзя ведь сообщать Идентификатор Объекта, если у нас нет Транзакции. Давайте-ка зафигачим Транзакцию.
Тут у нас уже включается секьюрити, nsa, Java Cryptography Architecture. Да, жар-птица может и такое. Эти криптографы начинают транзакцию. По своим внутренним каналам они начинают Внутреннюю Транзакцию. Для этого беспокоят менеджмент, и тот, по доброте душевной, начинает внутреннюю операцию, internal Start. Но, будучи менеджером, т.е. ленивым по природе, он думает, ха, да, небось, у нас уже такая операция имеет место, и начинает поиск по картотеке, не "делается ли это уже" (цитируя Маяковского) findIscTrHandle.
А так как больше одного дела за день менеджер делать не может (а то иначе он был бы инженер, а не менеджер), он справляется в первую очередь, а чем, собственно, вверенное ему подразделение занято в настоящий момент: getCurrentIscTrHandle. Посылает запрос смежникам.
А смежники чо, им послали запрос, они начинают транзакцию. isc_start_transaction
Разумеется, для этого стартуют новый поток деятельности (aka Thread).
В этом потоке они обсуждают, что это у нас, собственно, такое спросили-то?
И тут выясняется, что Имя Хозяина, которому послали запрос, пустое. Представьте, ваше имя было бы "". То-то развлечение в информационных системах. Наша до недавнего времени даже двухбуквенных не брала - ни He, ни Mo, ни Li, ни тем более Ng.
Ну так что, менеджера не просто посылают, а with a vengeance. И так по цепочке, менеджер криптографам, криптографы вебсерверу, а тот прямо на страничку. Мол так и так, ваша строка пустая.
Чо?
Вот так на джаве и программируют. Уже пятнадцать лет.
and what I see?
org.firebirdsql.jdbc.FBSQLException: Resource Exception. Unable to complete network request to host "". Reason: Unable to complete network request to host "". at org.firebirdsql.jdbc.AbstractConnection.ensureInTransaction(AbstractConnection.java:842) at org.firebirdsql.jdbc.AbstractStatement.executeQuery(AbstractStatement.java:155) at helpers.ExtFunc.GetObjectId(ExtFunc.java:53) at BaseImpl.Init(BaseImpl.java:51) at Catalog$Impl.process(Catalog.java:325) at Catalog.service(Catalog.java:389) at sasta.ServletBase.service(ServletBase.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:317) at org.apache.jserv.JServConnection.run(JServConnection.java:188) at java.lang.Thread.run(Thread.java:534) at org.firebirdsql.gds.GDSException: Unable to complete network request to host "". at org.firebirdsql.jgds.GDS_Impl.isc_start_transaction(GDS_Impl.java:555) at org.firebirdsql.jca.FBManagedConnectionFactory.getCurrentIscTrHandle(FBManagedConnectionFactory.java:507) at org.firebirdsql.jca.FBManagedConnection.findIscTrHandle(FBManagedConnection.java:1125) at org.firebirdsql.jca.FBManagedConnection.internalStart(FBManagedConnection.java:675) at org.firebirdsql.jca.FBLocalTransaction.internalBegin(FBLocalTransaction.java:111) at org.firebirdsql.jca.FBLocalTransaction.begin(FBLocalTransaction.java:94) at org.firebirdsql.jdbc.AbstractConnection.ensureInTransaction(AbstractConnection.java:838) at org.firebirdsql.jdbc.AbstractStatement.executeQuery(AbstractStatement.java:155) at helpers.ExtFunc.GetObjectId(ExtFunc.java:53) at BaseImpl.Init(BaseImpl.java:51) at Catalog$Impl.process(Catalog.java:325) at Catalog.service(Catalog.java:389) at sasta.ServletBase.service(ServletBase.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:317) at org.apache.jserv.JServConnection.run(JServConnection.java:188) at java.lang.Thread.run(Thread.java:534)
Итак, чё было-то?
Вот апачи обрабатывает реквест, вызывает сервис. Сервис, он вызывает какую-то састу. Саста ищет сервис в каталоге. Каталог, он у себя имеет класс Impl (что трогательно), и говорит ему "работай, падла!"
Этот несчастный внутренний Impl, он сам работать не будет пока его Базовый Класс, BaseImpl (типа Обобщённый Пролетарий) не Проинициализируецца.
Этот пролетарий чо, он начинает трудиться, и у Помощников (helpers), которые не простые, а обладают Функциями, ExtFunc, просит сообщить Идентификатор Объекта. Эти Функции, судя по стилю идентификаторов, написаны беглыми сишарпниками, но это мы им простим.
Чтобы узнать Идентификатор Объекта ("ваш аусвайс!") Помощники пошли на Базу. Сбацали какой-то сиквел, и хотят, чтоб его исполнила какие-то там жар-птица.
Жар-птица (кстати, ставшая популярной в американском дискурсе благодаря, я думаю, Стравинскому) задумалась - нельзя ведь сообщать Идентификатор Объекта, если у нас нет Транзакции. Давайте-ка зафигачим Транзакцию.
Тут у нас уже включается секьюрити, nsa, Java Cryptography Architecture. Да, жар-птица может и такое. Эти криптографы начинают транзакцию. По своим внутренним каналам они начинают Внутреннюю Транзакцию. Для этого беспокоят менеджмент, и тот, по доброте душевной, начинает внутреннюю операцию, internal Start. Но, будучи менеджером, т.е. ленивым по природе, он думает, ха, да, небось, у нас уже такая операция имеет место, и начинает поиск по картотеке, не "делается ли это уже" (цитируя Маяковского) findIscTrHandle.
А так как больше одного дела за день менеджер делать не может (а то иначе он был бы инженер, а не менеджер), он справляется в первую очередь, а чем, собственно, вверенное ему подразделение занято в настоящий момент: getCurrentIscTrHandle. Посылает запрос смежникам.
А смежники чо, им послали запрос, они начинают транзакцию. isc_start_transaction
Разумеется, для этого стартуют новый поток деятельности (aka Thread).
В этом потоке они обсуждают, что это у нас, собственно, такое спросили-то?
И тут выясняется, что Имя Хозяина, которому послали запрос, пустое. Представьте, ваше имя было бы "". То-то развлечение в информационных системах. Наша до недавнего времени даже двухбуквенных не брала - ни He, ни Mo, ни Li, ни тем более Ng.
Ну так что, менеджера не просто посылают, а with a vengeance. И так по цепочке, менеджер криптографам, криптографы вебсерверу, а тот прямо на страничку. Мол так и так, ваша строка пустая.
Чо?
Вот так на джаве и программируют. Уже пятнадцать лет.