Wednesday, June 1, 2011
Unable to read TLD “META-INF/c.tld” from JAR file
After a research I have found the fix.
So JasperServer contains in WEB-INF/lib some servlet libraries?!?! Could be possible it’s not a war made by me so somebody could have made some mistake. Listing the files in WEB-INF/lib i found the entire world of web libraries, included jsp-api. Yes this is the problem!
Tomcat excludes genonimo.jar because it contains Servlet api’s but loads jsp-api located in WEB-INF/lib because no checkis made. No jsp can be compiled because jasper (not jasper reports) compiles from a classloader and jsp-api are located in a different classloader.
Removig jsp-api everything works fine again.
Monday, October 12, 2009
Wednesday, April 8, 2009
Seriously this time, the new language on App Engine: Java™
Today, Google has announce the availability of a new programming language for Google App Engine. Please welcome the Java runtime!
- They live by their powerful tools (Eclipse, Intellij, NetBeans, Ant, etc.).
- They try to avoid lock-in and strive for re-use. Standards-based development (defacto or otherwise) is key.
- They harness sophisticated libraries to perform language feats which are nearly magical (GWT, Guice, CGLIB, AspectJ, etc...).
- They even use alternate languages on the JVM, like Groovy, Scala, and JRuby.

- Access to firewalled data: grant policy-controlled access to your data behind the firewall.
- Cron support: schedule tasks like report generation or DB clean-up at an interval of your choosing.
- Database import: move GBs of data easily into your App Engine app. Matching export capabilities are coming soon, hopefully within a month.
Tuesday, April 7, 2009
A short introduction to SIP (Session Initiation Protocol)
The base SIP specification is defined by IETF rfc3261.
SIP container/Sip Servlet API (SSA).
The Sip Servlet API (SSA) is an extension of the HTTP Servlet Specification. Some important aspects of the SSA :
- For developing SIP enabled applications. Supporting UAC, UAS, Proxy and B2BUA.
- Aligned with HTTP Servlet API for development of converged applications (originating HTTP, sending SIP request, bridging HTTP and SIP Session) spawning multiple protocols and media types.
- Separating the developer and the deployer roles by deployment descriptors
- Several applications may execute on the same incoming or outgoing messages, which allows application composition. Every application processes the message independently from one another.
- Application data can be stored in sessions and application context.
There are two versions of SSA, 1.0 and 1.1:
SSA 1.0 is defined in JSR 116, which have reached final status (released).
SSA 1.1 is defined in JSR 289, which is still on early stage (under development).
The SIP container is under development, towards SSA 1.1 (JSR 289). SSA 1.0 Test Compatibility Kit (TCK) tests towards the SIP container passes with the exception of two failures :
- test_context. This test case, among other, checks that the information in context is Servlet related. But some extra information is stored there by the application server which causes this to fail. This is not a violation of the SSA 1.0 and can be counted as not critical.
- test_proxy_gen2xx. This tests the ability of a proxy to generate its own 2XX responses, to act as an UAS. This functionality is not implemented in current version, but there is ongoing effort to add this.
The Sip Stack
The Sip Servlet implementation requires a Sip stack to control the signaling operations. The Sip Stack is provided by Ericsson Inc, and is currently used for Ericsson IMS products. The Sip Container and Stack were developed at Ericsson R&D sites in Stockholm, Sweden.
Some characteristics of the Sip Stack implementation :
- Lazy Parsing
- Low footprint
- Efficient
Sailfin: Open Source SIP Servlets Technology for GlassFish.
The Sailfin project, adds SIP Servlets technology extension to Glassfish, providing high availability, clustering features and integrating with the existing services. Sailfin is a joint effort, working towards to achieve JSR-289 compatibility and will be the source of all SIP related development for Glassfish.
Monday, April 6, 2009
How Did Cloud Computing Start?
Cloud computing began as large-scale Internet service providers such as Google, Amazon, and others built out their infrastructure. Architecture emerged: massively scaled, horizontally distributed system resources, abstracted as virtual IT services and managed as continuously configured, pooled resources. This architectural model was immortalized by George Gilder in his October 2006 Wired magazine article titled “The Information Factories.” The server farms Gilder wrote about were architecturally similar to grid computing, but where grids are used for loosely coupled, technical computing applications, this new cloud model was being applied to Internet services.
Both clouds and grids are built to scale horizontally very efficiently. Both are built to withstand failures of individual elements or nodes. Both are charged on a per-use basis. But while grids typically process batch jobs, with a defined start and end point, cloud services can be continuous. What’s more, clouds expand the types of resources available — file storage, databases, and Web services — and extend the applicability to Web and enterprise applications.
At the same time, the concept of utility computing became a focus of IT design and operations. As Nick Carr observed in his book The Big Switch, computing services infrastructure was beginning to parallel the development of electricity as a utility. Wouldn’t it be great if you could purchase compute resources, on demand, only paying for what you need, when you need it?
For end users, cloud computing means there are no hardware acquisition costs, no software licenses or upgrades to manage, no new employees or consultants to hire, no facilities to lease, no capital costs of any kind — and no hidden costs. Just a metered, per-use rate or a fixed subscription fee. Use only what you want, pay only for what you use.
Cloud computing actually takes the utility model to the next level. It’s a new and evolved form of utility computing in which many different types of resources (hardware, software, storage, communications, and so on) can be combined and recombined on the fly into the specific capabilities or services customers require. From CPU cycles for HPC projects to storage capacity for enterprise-grade backups to complete IDEs for software development, cloud computing can deliver virtually any IT capability, in real time. Under the circumstances it is easy to see that a broad range of organizations and individuals would like to purchase “computing” as a service, and those firms already building hyperscale distributed data centers would inevitably choose to begin offering this infrastructure as a service.
Friday, February 27, 2009
Friday, February 20, 2009
Zend Announces Beta of Zend Server, Includes Java Capability
The interesting thing is that even the free community edition now includes their Java capability, previously only available to high-end customers. They feel this will enable a lot more in the Java community to experiment with PHP and gain some of the benefits of dynamic scripting languages like PHP, in conjunction with running Java code they may have already built and have running in production.
Zend Server is designed to be an all-in-one installer to get setup quickly with Apache, PHP, Zend Framework, and a PHP optimizer (opcode cache, very much a necessity with dynamic languages like PHP). It also comes with an admin UI to configure PHP easily. It uses native installers for various operating systems, and is available for Windows, Mac OS X (the CE edition), and Linux (.deb, .rpm or tarball).
There are two versions being released. The full Zend Server (which after Beta will be a commercial product, price to be announced), and Zend Server CE, which is a version completely free to use however you wish. The full Zend Server comes with the following additional features:
* Page Caching (based on URLs, no code changes necessary)
* Monitoring (email alerts on slow DB queries, broken code executions, etc.)
* Support & Hot Fixes (so PHP is always up-to-date)
If you are interested in trying out Zend Server for yourself, check out some of the following links:
* Learn more about Zend Server. http://www.zend.com/en/products/server/
* Download Zend Server (either edition) to try out in beta. http://www.zend.com/en/products/server/downloads-all
Tuesday, January 27, 2009
A rare opportunity for you to meet James Gosling @ Sun Tech Days 09.
| | |
|
Monday, January 26, 2009
A new PHP IDE rolls into town - NetBeans
Was shocked the other day to hear that someone was using a certain IDE for PHP development. That IDE being Netbeans. If you haven’t ever used NetBeans it is an IDE project child of SUN and use to just be for Java development.
Looks like on the latest version (6.5) you get a whole slew of extra languages to develop in! Check out all the features of NetBeans 6.5 here. Now NetBeans supports (for Dynamic Languages) PHP, Ruby, JavaScript, Groovy, and Python. It also has support for many of the well know AJAX frameworks out there like my personal favorite jQuery. Oh it also has great HTML support.
This IDE has the makings of something great, it’s free, it supports the syntax of many languages. However is it better than the former PHP champ Zend IDE 5.5 (standalone)? Let’s compare the two.
Supported Languages: Zend has compatibility for PHP and HTML, and that is really it. It handles JavaScript ok, at least it’s useful for finding out whether or not I screwed up some brackets while using jQuery.
NetBeans on the other hand can handle a whole slew of languages from Java to C++ to many web-development languages. Netbeans +3.
Syntax Strictness: NetBeans could be stricter on the way it handles the PHP syntax. One thing I always really liked about Zend was when I tried typing a function name and I didn’t write the function yet or didn’t have it included into the file that the IDE gave me a bunch of shit about it. This helps you make sure you don’t have to wait until you debug it to figure you might have spelt it wrong or didn’t include it.
On the flip side NetBeans will throw the penalty flag if your HTML tags are out of order (ex:
FTP: One of Zend’s main drawing points for me was it’s awesome FTP support. You could set up a bunch of FTP accounts and be working off multiple servers, transferring files, the whole works. It was incredibly sweet.
NetBeans has FTP support, but you set it up for that project, which works just fine. However sometimes I would use Zend as a FTP program so I didn’t have to boot up FileZilla. Zends was just more robust, Zend +1.
Code Completion: Where would we be today without code completion? Honestly it can save you so much time. Zend would code complete everything everything automatically, it was simple and effective. It didn’t get in the way because they did it right.
NetBeans will code complete automatically on variables, but normally nothing else unless you pull a ctrl+space (at least on linux). I was really turned off by this when I started using it, but over the course of a week I realized how often I didn’t even need code completion. You’d be surprised how often you just don’t even think about it and type it out. I mean I know if I’m going to be typing mysql_fetch_array, I just type mysql and hit ctrl+space. I think this is really a horse a piece, and shouldn’t put my own preference into play. Tie NetBeans +1, Zend +1.
Debugging: Before I started using Zend I was using NuSphere PHP on Windows, which is very good, but pricey. Anyways, NuSphere’s debugging was awesome, Zends - well I never could get it to work at all from Linux. It never really bugged me too much because I’m so use to not using a debugger to debug, I know that sounds weird but I can do it.
NetBeans got the debugger working under Linux no problem, probably because when I tried to debug it told me where to go to set it up. Love it, I can debug just like I use to be able to do with the NuSphere IDE. NetBeans +1.
I could go on for a while but, NeBeans is the winner pretty hands down, it does much more better than Zend. Sure there’s a couple things here or there, but I had been using Zend for at least 6 months so some of that is a little personal bias.
There’s many neat extra features in NetBeans 6.5 but I’ll leave those to you to discover, just check it out. You don’t have to download everything, you can just download the PHP part, so if your using Ubuntu Linux (like me) don’t use apt-get (or aptitude) to get it as they may still have and older version in the repository, and it doesn’t come how you want it - just php.
Happy coding.
Tuesday, August 12, 2008
Monday, August 4, 2008
Thursday, July 3, 2008
Want 1440 X 900 on Intel VGA?
It seems Intel do not configure their driver to natively allow a resolution of 1440×900 (as well as other resolutions between 800×600 and the maximum supported resolution of 1680×1050). It seems this has also been a problem with other chipsets that Intel manufactures (from their 915 series upwards).
An inspection of the zip version of the driver (Intel provide 2 drivers, one in the form of a self extracting .exe and the other is a .zip file containing all the driver files) for my graphics controller
revealed that a file within the driver- igxp32.inf (a setup information file) would allow me to specify extra resolutions that could be used by the computer after the driver was installed. Opening this file in notepad, one section immediately caught my attention:
Within this section of igxp32.inf it appeared I could enable up to 5 extra resolutions for use within Windows display properties. The next line of the file has been commented by Intel:
HKR,, TotalDTDCount, %REG_DWORD%, 0 ; This shows number of DTDs to be used. ; 0–>Disable the feature.Well I wanted to enable all the resolutions I could, so I changed the 0 to a 5 like so:
HKR,, TotalDTDCount, %REG_DWORD%, 5 ; This shows number of DTDs to be used. ; 0–>Disable the feature.The next 5 lines within the file seemed to be the settings for the extra resolutions that would be added after this driver is installed. The first 4 had been set already to offer 1920×1080@60, 1920×1080@50, 1280×720@60 and 1280×720@50 resolutions. The last, 5th line had no
hexadecimal values, and the comment on the end of the setting was blank, so here is where I edited and added the resolution for the screen I was trying to get working. A quick Google of 1440×900@60 revealed the hex values for that resolution to be:
So I edited the 5th line to look like that above and saved the file. Upon un-installation of the old driver and installation of the newly modified driver, a quick delve into the settings in display properties revealed all 5 new resolutions selectable. I could now apply the 1440×900 resolution I wanted.
I believe that other Intel graphics drivers may have the setup information file named differently from igxp32.inf, but that they can all be modified in the same way.Sunday, June 29, 2008
Difference between setTimeout() or setInterval() - JavaScript
at first glance appear to be very similar. In fact many
people writing Javascript seem to be unaware of the
existance of one or the other of these two functions
because they write code that uses one function where
the other would have been far more appropriate. The
problem is that many of the descriptions of what these
two functions do don't highlight the difference
between them. The definitions appear identical in many
cases.
These two similar looking functions perform very differently. The setTimeout function delays for a specified time period and then triggers execution of a specified function. Once the function is triggered the setTimeout has finished. You can of course terminate the execution of the setTimeout before it triggers the function by using the clearTimeout function.
Often you will see setTimeout used at the end of a function to trigger another execution of the same function perhaps passing it different parameters. Where this is done the time from the first triggering of the function until te next will be the specified delay time plus the time taken to execute the function. Here is an example:
moreSnow();
function moreSnow() {
// content of moreSnow function
setTimeout("moreSnow()", speed);
}
The setInterval function also delays for a specified time before triggering the execution of a specific function. Where it differs is that after triggering that function the command doesn't complete. Instead it waits for the specified time again and then triggers the function again and continues to repeat this process of triggering the function at the specified intervals until either the web page is unloaded or the clearInterval function is called.
setInterval("moreSnow()", speed);
function moreSnow() {
// content of moreSnow function
}
Which of the two functions that you use depends on what you are trying to achieve. If different parameters need
to be passed to the function on each call or the content of the function decides whether or not to call itself again then setTimeout is the one to use. Where the function just needs triggering at regular intervals then the setInterval function may produce simpler code within the function particularly if it has multiple exit points.
Tuesday, June 24, 2008
The struggle to open up Java completely is finally coming to an end.
Simon Phipps, chief open-source officer at Sun, said: "We released under the GPL everything we had the rights to release under the GPL, and that was last summer. There were a couple of holdouts there. One was the area to do with raster graphics and 2D graphics. That turned out to be owned by a company that didn't want us to release that code as open source. We negotiated with them and because they've said: 'Yes, you can open source the code', I can tell you they're Codec..."
"The only element that's left now is actually a sound-related component within Java. We finally decided that the vendor that's involved there just isn't going to play ball and we're rewriting the code from scratch. That's going to be done within the next couple of months," said Phipps.Phipps said Java is expected to be completely free within the coming few months.
"I'm expecting that — certainly by the end of this year and hopefully sooner — we'll have all of the source code for Java under the GPL", he said.
Red Hat also introduced its IcedTea project in June 2007, with the aim of making OpenJDK a part of Fedora, as well as other Linux distributions, without constraints.The IcedTea project reached a breakthrough last week when the latest OpenJDK binary included in Fedora 9 passed the Java Test Compatibility Kit, a set of tools designed to verify whether a particular implementation is consistent with the Java specification.
OpenJDK, now a part of Fedora 9, contains all the necessary Java APIs (application programming interfaces) of a Java Standard Edition 6 implementation. The plan is to now make OpenJDK a part of the next Red Hat Enterprise Linux edition: 5.3.
Friday, June 20, 2008
Bye Bye MVC, Hello RIA+ SOA: Next Generation Web Development
There has been a lot of buzz around rich Web 2.0 applications, but they will not become mainstream until the next generation of web platforms emerge - fully integrated platforms that enable RIA + SOA.
For more information visit http://java.sys-con.com/read/513263.htm
Thursday, June 12, 2008
ZFS in Apple's forthcoming Snow Leopard Mac OS
Apple will support Sun's ZFS file system in Mac OS X v10.6, called 'Snow Leopard, due out in 12 months time.Apple's Snow Leopard web page states 'For business-critical server deployments, Snow Leopard Server adds read and write support for the high-performance, 128-bit ZFS file system, which includes advanced features such as storage pooling, data redundancy, automatic error correction, dynamic volume expansion, and snapshots."
The general direction of the Snow Leopard release is to provide better support for multi-core processors through Grand Central technology, improve Mac OS X' performance, upgrade the collaboration facilities, and greatly improve interoperability with Microsoft's Windows Exchange product. Support for 64-bit kernel technology enables main memory to scale to 16TB.
Snow Leopard is also supposed to reduce the amount of hard drive storage space needed for its own files, presumably by not storing PPC code on Intel Macs and vice versa.
In March Sun CEO Jonathan Schwartz said Apple would support ZFS in Mac OS X but didn't get much public support from Apple. ZFS support in Snow Leopard vindicates Schwartz's stance. Nothing is written in stone though and things could change between now and Snow Leopard shipping.
With NetApp and Sun locked in law suits over Sun's open sourcing of ZFS there may be some form of indeminity arrangement bwetween Apple and Sun.



