JRockit is an alternative to the standard Sun/Oracle/OpenJDK JVM. It was developed by BEA, primarily to provide better performance for users of BEA's Websphere. JRockit was previously a commercial product. This article explains that JRockit is now free, released under the Binary Code License - the same license Sun used to publish the J2SDK under.
Writing your own logging framework is the perfect
coding crime.
Writing your own logging framework is the perfect
coding crime
Even the Sun engineers fell into this trap. Prior to Java 4,
we had a perfectly good logging framework in Log4J. However,
instead of adopting this into the standard Java distribution,
we ended up with java.util.logging. There are lots of Java
logging frameworks available, even meta-logging frameworks
like SLF4J and Jakarta Commons. These are supposed to
abstract the logging frameworks so you can change the
implementation without touching your code.
Writing your own logging framework is the perfect coding crime. If you can convince your manager to put it on the project plan, you are guaranteed to have success. At the end of each day, you will go home feeling happy and satisfied. It will feel like you are doing something creative. You will get the intellectual stimulation without the risk of failure.
Even the Sun engineers fell into this trap. Prior to Java 4, we had a perfectly good logging framework in Log4J. However, instead of adopting this into the standard Java distribution, we ended up with java.util.logging. There are lots of Java logging frameworks available, even meta-logging frameworks like SLF4J and Jakarta Commons. These are supposed to abstract the logging frameworks so you can change the implementation without touching your code.
http://www.javaspecialists.eu/archive/Issue177.html
Difference between JDK, JRE and JVM. Java Virtual Machine is a specification and implementaion provided by sun microsystem. It is an abstract machine that is used to provide runtime environment for java application or applet.
Difference between JDK, JRE and JVM. Java Virtual Machine is a specification and implementaion provided by sun microsystem. It is an abstract machine that is used to provide runtime environment for java application or applet.
Oracle provided the EC with a Java SE 7 specification request and
license that are self-contradictory, severely restrict distribution of
independent implementations of the spec, and most importantly, prohibit
the distribution of independent open source implementations of the
spec. Oracle has refused to answer any reasonable and responsible
questions from the EC regarding these problems.
In the phrase
"fail to uphold their responsibilities under the JSPA", we are referring
to Oracle's refusal to provide the ASF's Harmony project with a TCK
license for Java SE that complies with Oracle's obligations under the
JSPA as well as public promises made to the Java community by officers
of Sun Microsystems (recently acquired by Oracle.)
it should be noted that
the majority of the EC members, including Oracle, have publicly stated
that restrictions on distribution such as those found in the Java SE 7
license have no place in the JCP - and two distinguished individual
members of the EC, Doug Lea and Tim Peierls, both have resigned in
protest over the same issue.
By approving Java SE 7, the
EC has failed on both counts : the members of the EC refused to stand up
for the rights of implementers, and by accepting Oracle's TCK license
terms for Java SE 7, they let the integrity of the JCP's licensing
structure be broken.
The Apache Software Foundation concludes
that that JCP is not an open specification process
and finally, the EC is unwilling or unable to assert the basic power of
their role in the JCP governance process
In short, the EC and the Java Community Process are neither.
To
that end, our representative has informed the JCP's Program Management
Office of our resignation, effective immediately. As such, the ASF is
removing all official representatives from any and all JSRs. In
addition, we will refuse any renewal of our JCP membership and, of
course, our EC position.
Okay ! Java's privatized now...
What now ?
Thank god I moved off Java in time. Suddenly Oracle is the new Death Star, replacing Microsoft.
This is a sad, sad day in the Java community. I hoped that Oracle would back-peddle and realize the folly of their ways. Now Java will be to Oracle what .NET is to Microsoft and it will be the death of Java as we know it.
Posibly in few years we'll see Apache as a new Sun for "Java", followed by Eclipse, Google, etc... I hope this is a great movement done by Apache for the community. We'll see... The objetive of Oracle are Enterprises that cannot move from Java because of hight investments, it will earn a lot of money from them. Oracle ignores the community because is not going to pay for (expensive, as all the rest of Oracle products) licenses... We'll se...
The Apache Software Foundation has resigned its seat on the Java SE/EE Executive Committee. Apache has served on the EC for the past 10 years, winning the JCP "Member of the Year" award 4 times, and recently was ratified for another term with support from 95% of the voting community. Further, the project communities of the ASF, home to Apache Tomcat, Ant, Xerces, Geronimo, Velocity and nearly a 100 mainstay java components have implemented countless JSRs and serve on and contribute to many of the JCPs technical expert groups.
We'd like to provide some explanation to the community as to why we're taking this significant step.
"This page describes how you can get an extended WADL from your REST app. It aligns mostly with the extended-wadl-webapp sample and uses these features:
Add additional doc tags to the WADL
Create JAXB beans from xsd - you might also create the schema from your beans
Add the grammars element that includes the xsd file from which JAXB beans were generated to the WADL
Add javadoc from your resource classes to the WADL, using most of the supported javadoc tags
For getting the extended WADL as described above these things have to be done:
Configure the maven-jaxb-plugin to create JAXB beans from xsd - this is described here just to describe what's done in the sample.
Add the application-doc.xml and application-grammars.xml to the build classpath
Configure the maven-javadoc-plugin with the ResourceDoclet provided by the wadl-resourcedoc-doclet artifact to create the resource-doc.xml.
Create a subclass of WadlGeneratorConfig that defines/configures the WadlGenerators to use
Specify your custom WadlGeneratorConfig in the web.xml as the WadlGeneratorConfig"
"Out of the box Jersey generates basic WADL at runtime that you can obtain from your REST app via GET http://path.to.your/restapp/application.wadl. Additionally you can configure Jersey to create an extended WADL including e.g. additional doc elements or javadoc read from your resource classes: There's a custom doclet that writes your javadoc to a file so that it can be used to extend the WADL. Additionally there's the maven-wadl-plugin that allows you to create the WADL without your running REST app."
Many interactive Web applications are composed of brittle collections of interdependent Web pages. Such applications can be hard to maintain and extend.
The Front Controller pattern defines a single component that is responsible for processing application requests. A front controller centralizes functions such as view selection, security, and templating, and applies them consistently across all pages or views. Consequently, when the behavior of these functions need to change, only a small part of the application needs to be changed: the controller and its helper classes.
Many interactive Web applications are composed of brittle collections of interdependent Web pages. Such applications can be hard to maintain and extend.
The Front Controller pattern defines a single component that is responsible for processing application requests. A front controller centralizes functions such as view selection, security, and templating, and applies them consistently across all pages or views. Consequently, when the behavior of these functions need to change, only a small part of the application needs to be changed: the controller and its helper classes.
By applying the Model-View-Controller (MVC) architecture to a JavaTM 2 Platform, Enterprise Edition (J2EETM) application, you separate core business model functionality from the presentation and control logic that uses this functionality. Such separation allows multiple views to share the same enterprise data model, which makes supporting multiple clients easier to implement, test, and maintain.