25 Aralık 2011 Pazar
a web 3.0 presentation link
i believe this is a good introduction about web 3.0: http://www.slideshare.net/HatemMahmoud/web-30-the-semantic-web and http://www.slideshare.net/JohannesBhakfi/web30-986081
21 Aralık 2011 Çarşamba
log4j NDC
Here is a link about logging best practices:
http://c2.com/cgi/wiki?LoggingBestPractices
The last rule of thumb:
If you're logging the output of a web service or something like that, make sure you log an item which is unique to the session in each log message. With log4j, you can do this using a NDC. (We didn't use the session id, thats too long, we grabbed a unique integer and put it into the session). This way you can trace whats happening to a single session very easily. You can also log the request parameters as well if you're concerned about that sort of thing
for more about NDC, please see: http://lstierneyltd.com/blog/development/log4j-nested-diagnostic-contexts-ndc/ and http://www.vipan.com/htdocs/log4jhelp.html
for code sample:
public ReturnType method( InputType input) throws ExceptionType{
NDC.push("identifyme");
try {
// do something
} catch(ExceptionType e) {
throw e;
} finally {
NDC.pop();
}
}
NDC javadoc here: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/NDC.html
14 Aralık 2011 Çarşamba
delete log files automatically with log4j
With
I included the file http://wiki.apache.org/logging-log4j/DailyRollingFileAppender in my project.. By the way, since some classes used (such as
RollingFileAppender
, there is a maxBackupIndex
property which specifies the number of log files that will be kept.. Unfortunately, DailyRollingFileAppender
does not support such property. Therefore, to use
maxBackupIndex
with DailyRollingFileAppender
, http://www.codeproject.com/KB/java/CustomDailyRollingFileApp.aspx (and http://wiki.apache.org/logging-log4j/DailyRollingFileAppender) provides a custom DailyRollingFileAppender
.I included the file http://wiki.apache.org/logging-log4j/DailyRollingFileAppender in my project.. By the way, since some classes used (such as
org.apache.log4j.RollingCalendar
) is not visible outside the package org.apache.log4j
, do not try to put the file in another package..
12 Aralık 2011 Pazartesi
mockito code samples
In a previous post, i promised to publish my own mockito code samples.Now, i have time to do that:
package mypackage;
import static org.junit.Assert.*;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.anyList;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
// some more imports..
public class MyMockitoTest {
private MockedClass mocked;
private TestedClass tested;
@Before
public void
setup() {
mocked= mock(MockedClass .class);
tested = new TestedClass (mocked);
}
@Test
public void
test1() {
// mocked method returns a new MockedReturnClass instance
when(mocked.test1CallsThis(anyString(), anyLong(), anyInt(), anyList(), any(MyClass.class)).thenReturn(new MockedReturnClass() ));
TestedReturnClass ret = tested.test1(//...test1 parameters);
assertNotNull(ret);
// required assertions
// verify what parameters test1CallsThis actually called with
verify(mocked).test1CallsThis("anyString", 2L, 1, ....);
}
@Test
public void test2() {
// mocked method returns a new, prepared MockedReturnClass instance, when called with THIS_PARAM
when(mocked.test2CallsThis(eq(EnumType.THIS_PARAM) )).thenAnswer(new Answer() {
public MockedReturnClass answer(InvocationOnMock invocation) throws Throwable {
MockedReturnClass retClass = new MockedReturnClass();
// prepare return data
return retClass ;
}
});
// mocked method returns a new MockedReturnClass instance, when called with THAT_PARAM
when(mocked.test2CallsThis(eq(EnumType.THAT_PARAM) )).thenReturn(new MockedReturnClass() ));
TestedReturnClass ret = tested.test2(//...test2 parameters);
assertNotNull(ret);
// required assertions
// verify both calls
verify(mocked).test2CallsThis(EnumType.THIS_PARAM);
verify(mocked).test2CallsThis(EnumType.THAT_PARAM);
}
@Test
public void test3() {
when(mocked.test3CallsThis(any(CapturedClass.class)).thenReturn(new MockedReturnClass() ));
TestedReturnClass ret = tested.test3(//...test3 parameters);
ArgumentCaptor captor = ArgumentCaptor.forClass(CapturedClass.class);
assertNotNull(ret);
// required assertions
//capture CapturedClass here
verify(mocked).test3CallsThis(captor.capture());
// and do required assertions
assertNotNull(captor.getValue());
// ... more assertions
}
@Test
public void test4() {
try {
// mocked method throws MockedException (return type of test4CallsThis is non-void )
when(mocked.test4CallsThis(anyString()).thenThrow(new MockedException() );
tested.test4(//...test4 parameters);
verify(mocked).test4CallsThis("anyString");
catch(MockedException ex) {
// ... do required assertions
}
@Test
public void test5() {
try {
// mocked method throws MockedException (return type of test5CallsThisTwiceis void)
doThrow(new MockedException()).when(mocked.test5CallsThisTwice(anyString());
tested.test5(//...test5 parameters);
verify(mocked, times(2)).test5CallsThisTwice("anyString");
catch(MockedException ex) {
// ... do required assertions
}
}
13 Kasım 2011 Pazar
a winedt/miktex tip
For the last hour, i was wondering why latex could not see my figure file during compilation.. Finally, i figured out that latex working envirenment (where the _temp.pdf is produced during compilation) is not the directory of my current .tex file.. WinEdt/Miktex treated as if all my .tex documents i edited so far, belong to the same project, and assigned the first .tex file (which is under a different directory) as the main file of the project..
In order to correct this, i modified the Main File attribute via Project Manager window in WinEdt/Miktex accordingly.
14 Ekim 2011 Cuma
mockito argument capture
Here ise a good article about argument capture property of mockito: http://blog.james-carr.org/2009/09/28/mockito-verifying-details-of-an-object-passed-to-a-collaborator/
.. and here is more: http://docs.mockito.googlecode.com/hg/org/mockito/ArgumentCaptor.html
http://mockito.googlecode.com/svn/branches/1.8.0/javadoc/org/mockito/Mockito.html#15
when i have enough time, i will publish my own test examples..until then, i must say, unit testing with mockito framework is a great way of doing white box testing and this experience leads you to review & refactor your code accordingly..
.. and here is more: http://docs.mockito.googlecode.com/hg/org/mockito/ArgumentCaptor.html
http://mockito.googlecode.com/svn/branches/1.8.0/javadoc/org/mockito/Mockito.html#15
when i have enough time, i will publish my own test examples..until then, i must say, unit testing with mockito framework is a great way of doing white box testing and this experience leads you to review & refactor your code accordingly..
7 Ekim 2011 Cuma
modifying latex margins
modify latex margins as follows:
I use those margin values (for informal personal reports) to reduce my printing costs :)
\usepackage[left=0.5cm,top=0.5cm,right=1.0cm,nohead,nofoot]{geometry}
I use those margin values (for informal personal reports) to reduce my printing costs :)
increase tomcat 6.x memory in linux environment
Change CATALINA_OPTS as follows:
export CATALINA_OPTS="-Xms512m -Xmx2048m -XX:MaxPermSize=256m"
and restart tomcat.
endorse tomcat 6.x
In order to endorse tomcat 6.x, make a directory named endorsed under $CATALINA_HOME, and put your .jar files there.
ant create database(sql) task
here is an ant target to create the specified database... unfortunately, sql does not close the connection properly..
<target name="create-db" >
<sql driver="org.postgresql.Driver" classpath="${build.lib}/postgresql-8.4-702.jdbc4.jar" url="jdbc:postgresql://localhost:5432/template1" userid="userid" password="password" autocommit="true" onerror="continue">
CREATE DATABASE ${database.prefix}_mydatabase;
</sql>
</target>
lowercase ant task
here is ant task to lowercase a property:
<property name="NAME.lowercase" value="${NAME}" />
</target>
<target name="lowercase-NAME" depends="init">
<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask">
<classpath path="${build.lib}/antelopetasks-3.2.10.jar" />
</taskdef>
<property name="NAME.lowercase" value="${NAME}" />
<stringutil string="${NAME.lowercase}" property="SURUM.lowercase">
<lowercase />
</stringutil>
</target>
tomcat deploy ant task
here is tomcat deploy-undeploy targets:
<target name="tomcat-start">
<exec executable="${tomcat.dir}/bin/startup.sh">
<env key="CATALINA_PID" value="${tomcat.pidfile}" />
</exec>
<sleep seconds="2" />
</target>
<target name="tomcat-deploy" depends="war">
<taskdef resource="org/apache/catalina/ant/catalina.tasks" classpathref="tomcat.classpath" />
<deploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"
war="file:${build.dir}/${name}.war" path="/${name}}" failonerror="true" />
<sleep seconds="2" />
</target>
<target name="tomcat-undeploy">
<taskdef resource="org/apache/catalina/ant/catalina.tasks" classpathref="tomcat.classpath" />
<undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"
path="/${name}" failonerror="false" />
</target>
<target name="tomcat-stop" depends="tomcat-undeploy">
<exec executable="${tomcat.dir}/bin/shutdown.sh">
<env key="CATALINA_PID" value="${tomcat.pidfile}" />
</exec>
<delete file="${tomcat.pidfile}" />
</target>
15 Eylül 2011 Perşembe
bibsonomy
BibSonomy (http://www.bibsonomy.org/) is a successful bookmarking and publication sharing system.. In fact, i use the site to gather bibtex format reference entries..
13 Eylül 2011 Salı
logging the stacktrace
logging the stacktrace with log4j:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
// ......
static Logger logger =
Logger.getLogger(MyClass.class);
// ......
public static void debugException(Exception ex) {
//ex.printStackTrace();
logger.error("An error occurred in MyClass.", ex);
}
frames in Latex
in order to print text inside a frame:
a few tips here: http://www.personal.ceu.hu/tex/spacebox.htm
http://en.wikibooks.org/wiki/LaTeX/Advanced_Topics
http://chenfuture.wordpress.com/2007/06/22/frames/
\centering
\fbox{
\begin{minipage}{1.0\linewidth}
The text that will be printed in frame goes here..
\end{minipage}
}
a few tips here: http://www.personal.ceu.hu/tex/spacebox.htm
http://en.wikibooks.org/wiki/LaTeX/Advanced_Topics
http://chenfuture.wordpress.com/2007/06/22/frames/
proguard ant task
proguard (http://proguard.sourceforge.net/) promises for the following:
- Creating more compact code, for smaller code archives, faster transfer across networks, faster loading, and smaller memory footprints.
- Making programs and libraries harder to reverse-engineer.
- Listing dead code, so it can be removed from the source code.
- Retargeting and preverifying existing class files for Java 6, to take full advantage of Java 6's faster class loading.
about proguard ant task: http://proguard.sourceforge.net/index.html#/manual/ant.html
here is code sample:
<target name="proguard" depends="jar">
<taskdef resource="proguard/ant/task.properties" classpath="${lib}/proguard-4.4.jar" />
<proguard configuration="${config}/obfuscate.pro">
<injar file="${build.dir}/prod.jar" />
<outjar file="${build.dir}/prod_obf.jar" />
<libraryjar refid="externals" />
</proguard>
</target>
checkstyle ant task
checkstyle (http://checkstyle.sourceforge.net/) is a tool that hels java code to adhere to coding standards.
for checkstyle ant task: http://checkstyle.sourceforge.net/anttask.html
about sun-checks.xml configuration file: http://checkstyle.sourceforge.net/config.html
here is a sample config file: http://code.google.com/p/checkstyle-idea/source/browse/trunk/src/main/resources/sun_checks.xml?r=120
for checkstyle ant task: http://checkstyle.sourceforge.net/anttask.html
<property name="build.checkstyle.config" value="${config}/sun_checks.xml" />
<property name="build.checkstyle.output" value="${build.dir}/checkstyle_report.xml" />
<path id="checkstyle.classpath">
<pathelement location="${lib}/checkstyle-5.3.jar" />
<pathelement location="${lib}/google-collections-1.0.jar" />
<pathelement location="${lib}/commons-beanutils-core-1.8.3.jar" />
<pathelement location="${lib}/commons-logging-1.1.1.jar" />
<pathelement location="${lib}/antlr-2.7.7.jar" />
</path>
<target name="checkstyle" depends="init">
<taskdef resource="checkstyletask.properties" classpathref="checkstyle.classpath" />
<checkstyle failOnViolation="false" config="${build.checkstyle.config}">
<fileset dir="${src.dir}">
<include name="**/*.java" />
</fileset>
<formatter type="xml" tofile="${build.checkstyle.output}" />
</checkstyle>
</target>
about sun-checks.xml configuration file: http://checkstyle.sourceforge.net/config.html
here is a sample config file: http://code.google.com/p/checkstyle-idea/source/browse/trunk/src/main/resources/sun_checks.xml?r=120
cobertura ant task
cobertura (http://cobertura.sourceforge.net/) is a coverage analysis tool which reports what percentage of source code is covered by unit tests.
for cobertura ant task: http://cobertura.sourceforge.net/anttaskreference.html
and here is code sample:
<target name="test" depends="compile-test, instrument">
<junit ..;>
...
<sysproperty key="net.sourceforge.cobertura.datafile" file="${build.coverage.datafile}" />
..
</junit>
</target>
for cobertura ant task: http://cobertura.sourceforge.net/anttaskreference.html
and here is code sample:
<property name="build.coverage.datafile" value="${build.coverage}/cobertura.ser" />
<path id="instrument.classpath">
<pathelement location="${build.classes}" />
</path>
<path id="cobertura.classpath">
<pathelement location="cobertura-1.9.4.1.jar" />
<pathelement location="log4j-1.2.4.jar" />
<pathelement location="oro-2.0.8.jar" />
<pathelement location="asm-3.0.jar" />
<pathelement location="asm-tree-3.0.jar" />
</path>
<target name="instrument" depends="compile-test">
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
<cobertura-instrument todir="${build.instrumented}" datafile="${build.coverage.datafile}">
<includeClasses regex=".*" />
<instrumentationClasspath>
<path refid="instrument.classpath" />
</instrumentationClasspath>
</cobertura-instrument>
</target>
<target name="test" depends="compile-test, instrument">
<junit ..;>
...
<sysproperty key="net.sourceforge.cobertura.datafile" file="${build.coverage.datafile}" />
..
</junit>
</target>
<target name="coverage" depends="test">
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
<cobertura-report format="xml" destdir="${build.coverage}" srcdir="${src.dir}" datafile="${build.coverage.datafile}" />
<cobertura-check haltonfailure="false" datafile="${build.coverage.datafile}" />
</target>
Etiketler:
ant,
cobertura,
code coverage analysis
12 Eylül 2011 Pazartesi
findbugs ant task
Findbugs is a static analysis tool that finds existing bugs in java code. Here is a link on how to use it from ant script: http://findbugs.sourceforge.net/manual/anttask.html
and code sample is as follows:
<property name="findbugs.home" value="/home/hilal.tarakci/Desktop/htarakci/environment/other/findbugs-1.3.9"/>
<target name="findbugs-define">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
<classpath path="${findbugs.home}/lib/findbugs.jar" />
</taskdef>
<!-- ensure that findbugs taskdef is only run once, otw ant will error -->
<property name="findbugs.initialized" value="true" />
</target>
<target name="findbugs" if="findbugs.present" depends="findbugs-define, jar" description="Run findbugs">
<findbugs output="xml:withMessages" home="${findbugs.home}" effort="max" outputFile="${build.dir}/findbugs.report.xml">
<auxClasspath>
<fileset dir="${ivy.lib}">
<include name="**/*.jar" />
<exclude name="**/ivy-*.jar" />
</fileset>
</auxClasspath>
<sourcePath path="${src.dir}" />
<class location="${build.dir}/${final.name}.jar" />
</findbugs>
<xslt style="${findbugs.home}/src/xsl/fancy-hist.xsl" in="${build.dir}/findbugs.report.xml" out="${build.dir}/findbugs.report.html" />
</target>
and code sample is as follows:
<property name="findbugs.home" value="/home/hilal.tarakci/Desktop/htarakci/environment/other/findbugs-1.3.9"/>
<target name="findbugs-define">
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
<classpath path="${findbugs.home}/lib/findbugs.jar" />
</taskdef>
<!-- ensure that findbugs taskdef is only run once, otw ant will error -->
<property name="findbugs.initialized" value="true" />
</target>
<target name="findbugs" if="findbugs.present" depends="findbugs-define, jar" description="Run findbugs">
<findbugs output="xml:withMessages" home="${findbugs.home}" effort="max" outputFile="${build.dir}/findbugs.report.xml">
<auxClasspath>
<fileset dir="${ivy.lib}">
<include name="**/*.jar" />
<exclude name="**/ivy-*.jar" />
</fileset>
</auxClasspath>
<sourcePath path="${src.dir}" />
<class location="${build.dir}/${final.name}.jar" />
</findbugs>
<xslt style="${findbugs.home}/src/xsl/fancy-hist.xsl" in="${build.dir}/findbugs.report.xml" out="${build.dir}/findbugs.report.html" />
</target>
commenting multiple lines in Latex
In order to comment multiple lines in Latex:
to comment out just one single line:
\usepackage{verbatim}
\begin{comment}
this line is commented out.
this one too..
\end{comment}
to comment out just one single line:
% only this line is commented out.
11 Eylül 2011 Pazar
printing special characters in Latex
In order to print the following special characters in Latex output, simply put a \ in front of the char..
more on http://www.tug.org/tutorials/latex2e/Special_Characters.html
# $ % & ~ _ ^ \ { }
more on http://www.tug.org/tutorials/latex2e/Special_Characters.html
9 Eylül 2011 Cuma
URL in Latex
I can be considered as a Latex newbie, so i try to write a post on every new piece of information about how to use Latex.
Here is sample code for using URLs in Latex:
.tex file
blogreferences.bib file
and the output is as follows:
Here is sample code for using URLs in Latex:
.tex file
\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{url}
\usepackage{hyperref}
\begin{document}
\title{Some Notes}
\author{Author's Name}
\maketitle
\begin{abstract}
\end{abstract}
\section{Some Notes}
\subsection{Blog}
\href{http://hilaltarakci.blogspot.com}{Hilal Tarakci Blog Page}
\cite{Tarakci2011}
\bibliographystyle{unsrt}
\bibliography{blogreferences}
\end{document}
blogreferences.bib file
@misc{
Tarakci2011,
author = "Hilal Tarakci",
title = "Hilal Tarakci Technical Page",
howpublished = "Website",
year = {2011},
note = {\url{http://hilaltarakci.blogspot.com/}}
}
and the output is as follows:
7 Eylül 2011 Çarşamba
mockito
Mockito is a mocking framework that can be downloaded from http://code.google.com/p/mockito/
An article about mockito:
http://gojko.net/2009/10/23/mockito-in-six-easy-examples/
quote from that article
To create a stub (or a mock), use mock(class). Then use when(mock).thenReturn(value) to specify the stub value for a method. If you specify more than one value, they will be returned in sequence until the last one is used, after which point the last specified value gets returned. (So to have a method return the same value always, just specify it once).
Code samples on that blog are adequate, so i will not reinvent the wheel with more examples..
25 Ağustos 2011 Perşembe
how to continue build with ant despite failure
I am aware of two ways to continue build process despite failure.. The first way is the easy one.. If the task that may fail has failonerror property, simply set it to false. However, not all tasks have that property. In those situations, subant task( http://ant.apache.org/manual/Tasks/subant.html) which is generally used for batch builds come into play. In order to use subant, you have to redesign your build file by moving targets which may-fail during build process in seperate build files. The target names that will be executed wihin subant in main build.xml must be identical..
Here is a subant example:
By the way, if the execution order is important, filelist must be used instead of fileset as follows:
Here is a subant example:
<subant failonerror="false">
<fileset dir="." includes="**/build.xml" excludes="build.xml"/>
<target name="clean"/>
<target name="build"/>
</subant>
By the way, if the execution order is important, filelist must be used instead of fileset as follows:
<subant failonerror="false">
<filelist dir="${parent.dir}">
<file name="project1/build.xml"/>
<file name="project2/bıild.xml"/>
...
<file name="projectn/build.xml"/>
</filelist>
<target name="clean"/>
<target name="build"/>
</subant>
warning: non-varargs call of varargs method with inexact argument type for last parameter
The method i explained in http://hilaltarakci.blogspot.com/2011/01/printing-object-with-reflection-api-for.html is my favorite debug mechanism..
However, it results in the following warning:
However, it results in the following warning:
warning: non-varargs call of varargs method with inexact argument type for last parameter;
[javac] cast to java.lang.Object for a varargs call
[javac] cast to java.lang.Object[] for a non-varargs call and to suppress this warning
[javac] logger.debug("METHOD: " + mBean[i].getName() + " : " + mBean[i].invoke(classItself, null));
In order to prevent the error, simply modify the following line by casting null to Object []:
System.out.println("METHOD: " + m[i].getName() + " : " + m[i].invoke(classItself, (Object [])null));
24 Ağustos 2011 Çarşamba
ant deploy to glassfish for service assemblies
The previous post is about ant deploy of web services to glassfish v2.1 application server. If you are curious, please read http://hilaltarakci.blogspot.com/2011/08/ant-deploy-to-glassfish.html.
This post is about deploying service assemblies to glassfish via ant..
Here is my solution:
jbi_admin.xml, copied from
and the actual build.xml is as follows:
glassfish-prod-deploy target deploys the specified assembly to the application server and starts it.
Likewise, glassfish-prod-undeploy target shutdowns the assembly and undeploys it.
This post is about deploying service assemblies to glassfish via ant..
Here is my solution:
jbi_admin.xml, copied from
${glassfish.home}/jbi/bin
, modified as follows:
<?xml version="1.0" encoding="UTF-8"?>
<!--
# BEGIN_HEADER - DO NOT EDIT
#
# The contents of this file are subject to the terms
# of the Common Development and Distribution License
# (the "License"). You may not use this file except
# in compliance with the License.
#
# You can obtain a copy of the license at
# https://open-esb.dev.java.net/public/CDDLv1.0.html.
# See the License for the specific language governing
# permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL
# HEADER in each file and include the License file at
# https://open-esb.dev.java.net/public/CDDLv1.0.html.
# If applicable add the following below this CDDL HEADER,
# with the fields enclosed by brackets "[]" replaced with
# your own identifying information: Portions Copyright
# [year] [name of copyright owner]
-->
<!--
# @(#)jbi_admin.xml
# Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
#
# END_HEADER - DO NOT EDIT
-->
<!--
Copyright (c) 2004-2007 Sun Microsystems Inc., All Rights Reserved.
-->
<!--
@author chikkala
-->
<project basedir="." name="jbi_admin" xmlns:jbi="http://www.sun.com/ns/jbi/jbi-ant/1">
<target name="-pre-jbi-admin-setup">
</target>
<target name="-jbi-admin-setup" depends="-pre-jbi-admin-setup">
<taskdef resource="com/sun/jbi/ui/ant/antlib.xml" />
<!-- properties used as attribute values for ant tasks -->
<property name="jbi.target" value="server" />
<property name="jbi.secure" value="false" />
<property name="jbi.username" value="admin" />
<property name="jbi.password" value="adminadmin" />
<property name="jbi.host" value="localhost" />
<property name="jbi.port" value="4848" />
<property name="jbi.show.descriptor" value="false" />
<property name="jbi.task.fail.on.error" value="true" />
<property name="jbi.force.task" value="false" />
<property name="jbi.keep.archive" value="false" />
</target>
<target name="init-jbi-admin" depends="-jbi-admin-setup" />
<!-- deployment targets -->
<!-- deploy service assembly targets -->
<target name="-init-deploy-sa">
<condition property="deploy.sa">
<and>
<isset property="jbi.deploy.file" />
<not>
<isset property="jbi.service.assembly.name" />
</not>
</and>
</condition>
<condition property="deploy.sa.from.domain">
<and>
<isset property="jbi.service.assembly.name" />
<not>
<isset property="jbi.deploy.file" />
</not>
</and>
</condition>
<condition property="deploy.sa.option.error1">
<and>
<isset property="jbi.service.assembly.name" />
<isset property="jbi.deploy.file" />
</and>
</condition>
<condition property="deploy.sa.option.error2">
<and>
<not>
<isset property="jbi.service.assembly.name" />
</not>
<not>
<isset property="jbi.deploy.file" />
</not>
</and>
</condition>
</target>
<target name="-do-deploy-sa" depends="init-jbi-admin, -init-deploy-sa" if="deploy.sa">
<jbi-deploy-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" file="${jbi.deploy.file}" />
</target>
<target name="-do-deploy-sa-from-domain" depends="init-jbi-admin, -init-deploy-sa" if="deploy.sa.from.domain">
<jbi-deploy-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" name="${jbi.service.assembly.name}" />
</target>
<target name="-do-deploy-sa-option-error1" depends="init-jbi-admin, -init-deploy-sa" if="deploy.sa.option.error1">
<jbi-deploy-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" file="${jbi.deploy.file}" name="${jbi.service.assembly.name}" />
</target>
<target name="-do-deploy-sa-option-error2" depends="init-jbi-admin, -init-deploy-sa" if="deploy.sa.option.error2">
<jbi-deploy-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" />
</target>
<!-- main install target for deploy service assembly -->
<target name="deploy-service-assembly" depends="init-jbi-admin, -init-deploy-sa,
-do-deploy-sa, -do-deploy-sa-from-domain,
-do-deploy-sa-option-error1, -do-deploy-sa-option-error2" description="Deploys Service assembly">
</target>
<!-- undeploy service assembly target -->
<target name="-init-undeploy-sa" depends="init-jbi-admin">
<!-- default service assembly name value. null or empty for no service assembly dependency in query tasks-->
<property name="jbi.service.assembly.name" value="" />
</target>
<target name="undeploy-service-assembly" depends="init-jbi-admin, -init-undeploy-sa" description="Undeploys service assembly">
<jbi-undeploy-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" force="${jbi.force.task}" keepArchive="${jbi.keep.archive}" name="${jbi.service.assembly.name}" />
</target>
<target name="-init-sa-lifecycle-options" depends="init-jbi-admin">
<!-- default service assembly name value. null or empty for no service assembly dependency in query tasks-->
<property name="jbi.service.assembly.name" value="" />
</target>
<!-- start service assembly target -->
<target name="start-service-assembly" depends="init-jbi-admin, -init-sa-lifecycle-options" description="starts service assembly">
<jbi-start-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" name="${jbi.service.assembly.name}" />
</target>
<!-- stop service assembly target -->
<target name="stop-service-assembly" depends="init-jbi-admin, -init-sa-lifecycle-options" description="stops service assembly">
<jbi-stop-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" name="${jbi.service.assembly.name}" />
</target>
<!-- shutdown service assembly target -->
<target name="shut-down-service-assembly" depends="init-jbi-admin, -init-sa-lifecycle-options" description="shuts down service assembly">
<jbi-shut-down-service-assembly username="${jbi.username}" password="${jbi.password}" secure="${jbi.secure}" host="${jbi.host}" port="${jbi.port}" target="${jbi.target}"
failOnError="${jbi.task.fail.on.error}" force="${jbi.force.task}" name="${jbi.service.assembly.name}" />
</target>
</project>
and the actual build.xml is as follows:
<?xml version="1.0"?>
<project name="myproject" default="zip" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
<import file="./jbi_admin.xml" />
<!-- some stuff deleted.. -->
<!-- ==================================== -->
<!-- Glassfish tasks -->
<!-- ==================================== -->
<target name="glassfish-init" unless="glassfish.initialized">
<path id="jbi.ant.tasks.classpath.id">
<pathelement location="${glassfish.home}/lib/sun-appserv-ant.jar" />
<pathelement location="${glassfish.home}/jbi/lib/jbi-ant-tasks.jar" />
</path>
<!-- Load jbi task definitions -->
<taskdef resource="com/sun/jbi/ui/ant/antlib.xml" classpathref="jbi.ant.tasks.classpath.id" />
<taskdef name="unset" classname="ise.antelope.tasks.Unset">
<classpath path="${build.lib}/antelopetasks-3.2.10.jar" />
</taskdef>
<!-- ensure that glassfish taskdef is only run once, otw ant will error -->
<property name="glassfish.initialized" value="true" />
</target>
<target name="glassfish-password-init" depends="init, glassfish-init">
<!-- do not forget to delete this! -->
<echo message="AS_ADMIN_PASSWORD=adminadmin" file="${build.dir}/password.file" />
</target>
<target name="glassfish-prod-deploy-pre" depends="glassfish-init">
<!--<property name="jbi.service.assembly.name" value="" />-->
<unset name="jbi.service.assembly.name"/>
<property name="jbi.task.fail.on.error" value="true" />
<property name="jbi.host" value="${prod.host}" />
<property name="jbi.deploy.file" value="${build.dir}/${name}-${SURUM}.zip" />
</target>
<target name="glassfish-start-assembly-pre" depends="glassfish-init">
<property name="jbi.task.fail.on.error" value="true" />
<property name="jbi.service.assembly.name" value="${name}-${SURUM}" />
<property name="jbi.host" value="${prod.host}" />
<unset name="jbi.deploy.file"/>
<!--<property name="jbi.deploy.file" value="" />-->
</target>
<target name="glassfish-prod-undeploy-pre" depends="glassfish-init">
<property name="jbi.task.fail.on.error" value="false" />
<property name="jbi.service.assembly.name" value="${name}-${SURUM}" />
<property name="jbi.host" value="${prod.host}" />
<unset name="jbi.deploy.file"/>
<!--<property name="jbi.deploy.file" value="" />-->
</target>
<target name="exec-glassfish-prod-deploy" depends="zip, glassfish-prod-deploy-pre, deploy-service-assembly">
</target>
<target name="exec-glassfish-start-assembly" depends="glassfish-start-assembly-pre, start-service-assembly">
</target>
<target name="glassfish-prod-deploy" depends="exec-glassfish-prod-deploy, exec-glassfish-start-assembly">
</target>
<target name="glassfish-prod-undeploy" depends="glassfish-prod-undeploy-pre, shut-down-component, undeploy-service-assembly">
</target>
</project>
glassfish-prod-deploy target deploys the specified assembly to the application server and starts it.
Likewise, glassfish-prod-undeploy target shutdowns the assembly and undeploys it.
19 Ağustos 2011 Cuma
ant deploy to glassfish
In order to deploy the web service war to glassfish using ant, you can use the following ant snippet:
The point is to use sun-appserv-ant.jar file, which includes glassfish specific ant task definitions, inside glassfish v2.1 home directory. Otherwise, there will be ClassCouldNotBeFound exceptions..
<target name="glassfish-init" unless="glassfish.initialized">
<taskdef name="sun-appserv-deploy" classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.DeployTask">
<classpath path="${glassfish.home}/lib/sun-appserv-ant.jar" />
</taskdef>
<taskdef name="sun-appserv-undeploy" classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.UndeployTask">
<classpath path="${glassfish.home}/lib/sun-appserv-ant.jar" />
</taskdef>
<!-- ensure that glassfish taskdef is only run once, otw ant will error -->
<property name="glassfish.initialized" value="true" />
</target>
<target name="glassfish-password-init" depends="init, glassfish-init">
<!-- do not forget to delete this! -->
<echo message="AS_ADMIN_PASSWORD=adminadmin" file="${build.dir}/password.file" />
</target>
<target name="glassfish-remote-deploy" depends="glassfish-init, glassfish-password-init, war">
<sun-appserv-deploy file="${build.dir}/${name}-${version}.war" name="${name}-${version}"
user="admin" passwordfile="${build.dir}/password.file" host="remotemachine" port="4848"
asinstalldir="${glassfish.home}"/>
</target>
<target name="glassfish-remote-undeploy" depends="glassfish-init, glassfish-password-init">
<sun-appserv-undeploy name="${name}-${version}"
user="admin" passwordfile="${build.dir}/password.file" host="remotemachine" port="4848"
asinstalldir="${glassfish.home}"/>
</target>
The point is to use sun-appserv-ant.jar file, which includes glassfish specific ant task definitions, inside glassfish v2.1 home directory. Otherwise, there will be ClassCouldNotBeFound exceptions..
18 Ağustos 2011 Perşembe
hibernate on glassfish
A way of powering glassfish with hibernate support (instead of toplink) is directly copying hibernate runtime.jar files under glassfish's domain1/lib folder. However, this forces all deployed applications to use the same hibernate version. Therefore, the best solution is packaging hibernate .jars with the application itself.
Here is a useful link which explains how to use hibernate JPA on glassfish: http://javafromthetrenches.wordpress.com/2011/01/15/using-hibernate-jpa-with-glassfish/
The following dependencies worked for me:
The listed dependencies are not latest version of hibernate, however it is a working hibernate runtime set of jars. Here is an ongoing discussion about the topic: http://www.java.net/forum/topic/glassfish/glassfish/updating-support-hibernate-glassfish-need-communitys-help
Here is a useful link which explains how to use hibernate JPA on glassfish: http://javafromthetrenches.wordpress.com/2011/01/15/using-hibernate-jpa-with-glassfish/
The following dependencies worked for me:
<dependency org="antlr"
name="antlr"
rev="2.7.6"/>
<dependency org="asm"
name="asm"
rev="1.5.3"/>
<dependency org="asm"
name="asm-attrs"
rev="1.5.3"/>
<dependency org="cglib"
name="cglib"
rev="2.2"/>
<dependency org="commons-collections"
name="commons-collections"
rev="2.1.1"/>
<dependency org="commons-logging"
name="commons-logging"
rev="1.1"/>
<dependency org="dom4j"
name="dom4j"
rev="1.6.1"/>
<dependency org="ehcache"
name="ehcache"
rev="1.2.3"/>
<dependency org="javax.transaction"
name="jta"
rev="1.1"/>
<dependency org="org.hibernate"
name="hibernate-tools"
rev="3.2.0.ga"/>
<dependency org="org.hibernate"
name="hibernate-annotations"
rev="3.3.1.GA"/>
<dependency org="org.hibernate"
name="hibernate-commons-annotations"
rev="3.3.0.ga"/>
<dependency org="org.hibernate"
name="hibernate-entitymanager"
rev="3.3.2.GA"/>
<dependency org="javassist"
name="javassist"
rev="3.4.GA"/>
<dependency org="org.hibernate"
name="ejb3-persistence"
rev="3.3.2.Beta1"/>
<-- if hibernate cloning api beanlib is going to be used -->
<dependency org="net.sf.beanlib"
name="beanlib"
rev="5.0.2beta"/>
<-- if hibernate cloning api beanlib is going to be used -->
<dependency org="net.sf.beanlib"
name="beanlib-hibernate"
rev="5.0.2beta"/>
<!-- if postgresql driver is going to be used -->
<dependency org="it.cnr.isti.domoware"
name="org.postgresql.jdbc4"
rev="8.3-603"/>
The listed dependencies are not latest version of hibernate, however it is a working hibernate runtime set of jars. Here is an ongoing discussion about the topic: http://www.java.net/forum/topic/glassfish/glassfish/updating-support-hibernate-glassfish-need-communitys-help
14 Ağustos 2011 Pazar
Latex - referencing a web site
While writing .tex document, the following is a valid web site reference.
and latex output is:
MPEG-7 [1] is one of ..
...
[1] W3C Incubator Group. Mpeg-7 and the semantic web, August 2011.
@ONLINE{w1_MPEG7,
author = {W3C Incubator Group},
title = {MPEG-7 and the Semantic Web},
month = aug,
year = {2011},
url = {http://www.w3.org/2005/Incubator/mmsem/XGR-mpeg7/}
}
and latex output is:
MPEG-7 [1] is one of ..
...
[1] W3C Incubator Group. Mpeg-7 and the semantic web, August 2011.
9 Ağustos 2011 Salı
reading from properties file
a simple code snippet for reading from properties file:
.. and the corresponding
import java.util.ResourceBundle;
Locale locale = new Locale("en_US");
ResourceBundle bundle = ResourceBundle.getBundle("mypropertiesfile", locale);
String name = bundle.getString("name");
String surname = bundle.getString("surname");
.. and the corresponding
mypropertiesfile.properties
should be in the classpath:name = buffy
surname = vampireSlayer
3 Ağustos 2011 Çarşamba
java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
After successfully deploying web services to glassfish v2.1 server, the following error comes up while running test client code:
java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
at com.sun.xml.ws.model.RuntimeModeler.processExceptions(RuntimeModeler.java:1162)
at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:898)
at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:666)
at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:420)
at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:254)
at com.sun.xml.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:661)
at com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:649)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:343)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:326)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:308)
at javax.xml.ws.Service.getPort(Service.java:92)
here explains the reason for the error: http://www.coderanch.com/t/531327/java-Web-Services-SCDJWS/certification/Known-glassfish-during-running-webservices
According to this, current JAVA_HOME is pointing to Java 6 SE, which now has a version of WebFault WITHOUT the messageName element ..
In order to fix this situation, endorse mechanism should be applied, similar to this http://weblogs.java.net/blog/ramapulavarthi/archive/2009/04/tip_for_using_j.html
my solution is to add the following to
// endorsed folder consists of webservices-api.jar..
In order to fix this situation, endorse mechanism should be applied, similar to this http://weblogs.java.net/blog/ramapulavarthi/archive/2009/04/tip_for_using_j.html
my solution is to add the following to
junit
ant task:
<jvmarg value="-Djava.endorsed.dirs=${lib.endorsed.dir}"/>
// endorsed folder consists of webservices-api.jar..
2 Ağustos 2011 Salı
running ant JUnitTask
message from ant:
this is due to lack of
one method is to download
and copy it under
another method is to download a newer version of ant (http://ant.apache.org/)
ant 1.8.2 comes with that jar file..
http://ant.apache.org/manual/Tasks/junit.html explains how to run junit task..
BUILD FAILED
.../build.xml:346: Problem: failed to create task or type junit
Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found.
This looks like one of Ant's optional components.
....
this is due to lack of
ant-junit.jar
file.one method is to download
ant-junit.jar
from here: http://www.java2s.com/Code/Jar/ABC/Downloadantjunitjar.htmand copy it under
$ANT_HOME/lib
another method is to download a newer version of ant (http://ant.apache.org/)
ant 1.8.2 comes with that jar file..
http://ant.apache.org/manual/Tasks/junit.html explains how to run junit task..
28 Temmuz 2011 Perşembe
a simple log4j example
the properties file is something like that:
log4j.properties file must be in classpath..
for log format: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
log4j.rootLogger=DEBUG
log4j.appender.SampleAppender =org.apache.log4j.FileAppender
log4j.appender.SampleAppender .File=Sample.log
log4j.appender.SampleAppender .layout=org.apache.log4j.PatternLayout
log4j.appender.SampleAppender .layout.ConversionPattern= [%t] %-5p %c{2} %d %x - %m%n
log4j.logger.org.sample=,SampleAppender
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Sample {
static Logger logger = Logger.getLogger(Sample.class);
public static void debug(String message, boolean debugModeOn) {
if (debugModeOn) {
PropertyConfigurator.configure("log4j.properties");
logger.debug( message);
}
}
log4j.properties file must be in classpath..
for log format: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
26 Temmuz 2011 Salı
how to use subfigure feature in Latex
In order to use subfigure feature in Latex:
\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{subfigure}
To reference subfigure do Figure ~\ref{fig:second}
\begin{figure} [htp]
\begin{center}
\subfigure[My First Figure]{\label{fig:first}\includegraphics[scale=0.30]{first.PNG}}
\subfigure[My Second Figure]{\label{fig:second}\includegraphics[scale=0.30]{second.PNG}} \\
\end{center}
\caption{MAVIS Interfaces}
\label{fig:edge}
\end{figure}
24 Temmuz 2011 Pazar
writing XML code in Latex
two ways to produce XML code in Latex:
1st way:
input:
\begin{tabbing}
\\ $<$Sem\=anticBase id="Biglia\_Anderlecht\_58\_4" xsi:type="AgentObjectType"$>$ \\
\> $<$Lab\=el$>$ \\
\> \> $<$Name /$>$ \\
\> $<$/Label$>$ \\
\> $<$Def\=inition$>$ \\
\> \> $<$FreeTextAnnotation /$>$ \\
\> $<$/Definition$>$ \\
\> $<$Med\=iaOccurrence$>$ \\
\> \> $<$Med\=iaLocator xsi:type="TemporalSegmentLocatorType"$>$ \\
\> \> \> $<$Med\=iaTime$>$ \\
\> \> \> \> $<$MediaTimePoint$>$58$<$/MediaTimePoint$>$ \\
\> \> \> $<$/MediaTime$>$ \\
\> \> $<$/MediaLocator$>$ \\
\> $<$/MediaOccurrence$>$ \\
\> $<$Relation type="urn:...:agentOf" target="Corner" /$>$ \\
\> $<$Relation type="urn:...:memberOf" target="ANDERLECHT" /$>$ \\
\> $<$Age\=nt xsi:type="PersonType"$>$ \\
\> \> $<$Nam\=e$>$ \\
\> \> \> $<$GivenName$>$ Biglia $<$/GivenName$>$ \\
\> \> \> $<$FamilyName /$>$ \\
\> \> $<$/Name$>$ \\
\> $<$/Agent$>$ \\
$<$/SemanticBase$>$ \\
\end{tabbing}
2nd way is by using
for details, please see http://texblog.wordpress.com/2008/04/02/include-source-code-in-latex-with-listings/
1st way:
input:
\begin{tabbing}
\\ $<$Sem\=anticBase id="Biglia\_Anderlecht\_58\_4" xsi:type="AgentObjectType"$>$ \\
\> $<$Lab\=el$>$ \\
\> \> $<$Name /$>$ \\
\> $<$/Label$>$ \\
\> $<$Def\=inition$>$ \\
\> \> $<$FreeTextAnnotation /$>$ \\
\> $<$/Definition$>$ \\
\> $<$Med\=iaOccurrence$>$ \\
\> \> $<$Med\=iaLocator xsi:type="TemporalSegmentLocatorType"$>$ \\
\> \> \> $<$Med\=iaTime$>$ \\
\> \> \> \> $<$MediaTimePoint$>$58$<$/MediaTimePoint$>$ \\
\> \> \> $<$/MediaTime$>$ \\
\> \> $<$/MediaLocator$>$ \\
\> $<$/MediaOccurrence$>$ \\
\> $<$Relation type="urn:...:agentOf" target="Corner" /$>$ \\
\> $<$Relation type="urn:...:memberOf" target="ANDERLECHT" /$>$ \\
\> $<$Age\=nt xsi:type="PersonType"$>$ \\
\> \> $<$Nam\=e$>$ \\
\> \> \> $<$GivenName$>$ Biglia $<$/GivenName$>$ \\
\> \> \> $<$FamilyName /$>$ \\
\> \> $<$/Name$>$ \\
\> $<$/Agent$>$ \\
$<$/SemanticBase$>$ \\
\end{tabbing}
output:
2nd way is by using
listings
style..for details, please see http://texblog.wordpress.com/2008/04/02/include-source-code-in-latex-with-listings/
18 Temmuz 2011 Pazartesi
how to change web service endpoint at run time
In order to change web service url endpoint at runtime, change call code as follows:
try { // Call Web Service Operation
MyServiceService service = new MyServiceService();
MyService port = service.getMyServicePort();
BindingProvider bp = (BindingProvider)port;
bp.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://localhost:8080/MyServiceService?wsdl");
java.lang.String username = "admin";
java.lang.String password = "admin";
ResultType result = port.myServiceOperation(username, password);
} catch (Exception ex) {
//..
}
The tip is from here: http://tugdualgrall.blogspot.com/2009/02/jax-ws-how-to-configure-service-end_17.html
7 Temmuz 2011 Perşembe
error during deploying ws to glassfishesb v2.2.
My environment is as follows:
- The server is on a virtual machine (played by VMWare player).. Operating system of server is OpenSuse 11.4, os of client is OpenSuse 11.2
- The application server is installed with GlassfishESB v2.2 (https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=GFESB-22-G-F@CDS-CDS_SMI)
The scenario is :
1) WS project is successfully deployed.
2) Bpel module (CA project with Bpel Module) is successfully deployed.
3) When i tried to redeploy WS project i got this error:
it may be about this: http://java.net/jira/browse/GLASSFISH-11715
My workaround:
When i undeployed bpel project and redeployed ws project afterwards, it worked for me..
- The server is on a virtual machine (played by VMWare player).. Operating system of server is OpenSuse 11.4, os of client is OpenSuse 11.2
- The application server is installed with GlassfishESB v2.2 (https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=GFESB-22-G-F@CDS-CDS_SMI)
The scenario is :
1) WS project is successfully deployed.
2) Bpel module (CA project with Bpel Module) is successfully deployed.
3) When i tried to redeploy WS project i got this error:
constituent CLs ::
:: asimpl :: optionalChain
was requested to find class com.sun.enterprise.management.deploy.DeployThread.LogStrings after done was invoked from the following stack trace
java.lang.Throwable
at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:708)
at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:628)
it may be about this: http://java.net/jira/browse/GLASSFISH-11715
My workaround:
When i undeployed bpel project and redeployed ws project afterwards, it worked for me..
5 Temmuz 2011 Salı
VMWare player error: Could not open /dev/vmmon
i got the following error when i tried to reopen vmware on Opensuse 11.2 host:
1. error screen
Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.
2. error screen
Failed to initialize monitor device.
3. error screen
The virtual machine is busy.
From what I've read, this happens on OpenSUSE. VMware comes with some pre-built binaries which somehow don't work on this OS. So you're deleting them, and by running that tool they are built again, this time for your system.
and the solution is to execute following commands:
sudo mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary.old
sudo vmware-modconfig --console --install-all --appname="VMware Player" --icon="vmware-player"
Kaydol:
Kayıtlar (Atom)