For the last few years I've been lucky enough to be a lead developer for some NASA Ground System software that has been deployed directly into the Mission Operations Control room. (Hence the righteous reference in the title of this blog)
Here at this blog I will be sharing the tips, tricks and lessons learned in deploying Java technology to space based mission critical operations and analysis. I feel there is a niche here to speak towards in the vast ocean of blogs that everyone is already tired of. I will be sharing some code snippets that are non-proprietary, cool captured screenshots and occasionally images taken from actual operational software.
When I posted JSF Tip #32 - Override a JSF renderer Twitter user @john_waterwood asked me how you would define a new tag for an existing component and the overridden renderer. Well it is fairly easy, see the 2 steps below!
1. Create your renderer
2. Register it
Creating your renderer
package org.glassfish.jsf.overrideRenderer;import java.io.IOException;import javax.faces.component.UIComponent;...
In a previous blog entry I blogged about stateless JSF before, this time I will include the entire page so you can see how silly simple it actually is. And you can also go directly to Subversion to get the sample there.
Say you have a problem with how a particular component renders and you want to do it a bit different. Well in JSF that is not a problem there is a hook-in that you can use to override how a renderer does it rendering. The sample below shows you how to do it.
You will have to do 2 things.
1. Register your own renderer for a given renderer type
2. Implement your own renderer.
First lets make sure...
If you read the blog entry about migrating to @Named annotation you might wonder how you would migrate your @ManagedProperty annotations.
Since CDI is a specification on its own, it does not deal with JSF specific artifacts. However with very little work you can have a very similar setup.
First we define our own custom annotation @ManagedProperty
package test.managedproperty;import java.lang....
See the release notes for what was fixed. If you want to download it, see this page for more information.
This blog shows how to use Bean Validation with JAX-RS
Since Mojarra is available as a standalone JAR you can opt to update your Glassfish installation with a newer version. How would you do that? Well it is simple.
Make sure your Glassfish container is not running
Grab the latest JAR from http://repo1.maven.org/maven2/org/glassfish/javax.faces/
Replace the javax.faces.jar in the modules directory of your Glassfish directory with the downloaded JAR...
Sometimes when you are working with JSF you might need to understand what is happening beneath the covers. It could be because you think a component is misbehaving and you want to make sure that is the case before you file a bug. To facilitate this you can turn the logging up and in Mojarra there are several loggers that you can use.
The following is a non-exhaustive list:
If you are having a problem with your JPA queries and you are trying to understand what SQL queries it actually sends below the covers you can configure the JPA runtime to show the actual SQL statements it sends over. How? Well for EclipseLink you would add the following to your persistence.xml file.
<property name="eclipselink.logging.level" value="FINEST"/>...
Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON
JavaEE 7 and Glassfish 4.0 were released a little while ago.
What is in the future? Well, see the Aquarium blog for the latest Glassfish Roadmap.
And that is it.
Tyrus 1.3 has been released, get more information here. Or download it from here.
Glassfish users should take all the Tyrus JAR files and replace them in the modules directory with the downloaded ones to get Tyrus 1.3 working in Glassfish.
And that is it.
Global Education and Learning
Learn some useful configuration patterns that will help you debug and manage your locally based actor application.
Begin coding actors with this simple entertaining application as an example.
Much of what you do in Java is to define classes that package data and functionality together by concept to represent the desired problem-space element. When you instantiate a class, you create an object that has it's own piece of memory made up of other objects. Java has a peculiar means of manipulating these elements in memory. This is to say even though you treat everything as an object, you do not manipulate these objects directly. On the contrary, you manipulate an identifier that is a "reference" to the object. You may think of a reference as the physical address of the location of the object in memory or some other physical device. An identifier is simply a name or label for that reference. For instance, to create a reference to hold a word or sentence you would do something like this:-
Object Oriented programming (OOP) is a programming methodology whose progress of abstraction allows for the conception of elements within the problem space to exist as objects within the solution space. This seemingly one-on-one mapping provides an ideal abstraction of the real world or problem space; consider if you will, the normal objects with which you interact with everyday for instance a maple tree, a bicycle, a car etc..
Java User Groups
a little discussion in a television series here that i am the speaker. the topic is Java. The host, TV Excelence, said any update for Java and why Java is silence now.
I said there are Java worlds which use Java but we cannot said it is Java, but use Java.
1. BigData with Hadoop under Apache , is a new ecosystem that based on Java.
2. Smartphone/Gadget with Android under Google with Apache...
At JavaOne 2013, I had the privilege of speaking for 10-15 minutes with Sean Phillips, Senior Software Engineer at a.i. solutions. a.i. solutions was a JavaOne 2013 Duke's Choice Award winner, and Sean had come to the Java.net table in the JavaOne Exhibition Hall seeking me. This was fortuitous, because...
Have you experienced Scrum? I have.