main website home
  • About this blog

    This blog features updates, opinions, and technical notes from Caucho engineers about Caucho products, the enterprise Java industry, and PHP. Caucho Technology is the creator of the Resin Application Server and the Quercus PHP in Java engine. A leader in Java performance since 1998, Caucho is a Sun JavaEE licensee with over 9000 customers worldwide.
  • Tags

    ajaxworld bam candi cdi cloud cluster comet configuration deploy devoxx eclipse ejb embedded flash flex google app engine hessian hmtp ioc java ee 6 javaone javazone jms messaging newsletter nyjug osgi php pomegranate quercus resin resin 4.0 REST servlet sfjug silicon valley code camp spring testing training tssjs watchdog webbeans web profile websockets wordpress
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org

Archive for the ‘Uncategorized’ Category

« Older Entries

Resin on Raspberry Pi — JEE comes to the $35 ARM platform!

Friday, February 15th, 2013

I’m happy to announce, with the release of Resin 4.0.35, Resin will compile and run on a Raspberry Pi!

For the uninitiated, Raspberry Pi is a credit-card-sized single-board computer, very popular amongst tinkerers and hobbyists for it’s ease of use and low cost.

We’ve made number of changes in recent releases to allow Resin to run on a Raspberry Pi. These included both Java fixes and compilation of Resin’s native libraries. Both Resin Pro and Resin GPL Servlet Container will run with native optimizations enabled on Raspberry Pi.

More information including minor required configuration change is available on Caucho’s Resin 4 Wiki: Resi On Raspberry Pi

Posted in Uncategorized | No Comments »

Resin PDF Health Reports

Wednesday, January 2nd, 2013

When attempting to diagnose application errors or performance issues, the single best tool Resin makes available are the Resin PDF Health Reports. They are also the first things we request when addressing customer support questions.

Resin can generate two slightly different PDF health reports: Snapshot and Watchdog reports. A Snapshot Report captures a “snapshot” of Resin at the current point in time. A Watchdog Report aggregates as much information as available about Resin at a “previous” point in time. Watchdog reports can also be thought of as a “post-mortem” or “restart” report, as they usually are generated immediately after an unexpected server restart.

Snapshot reports can be generated on the command-line:

unix> resinctl pdf-report -local -local-dir /tmp

via REST:

unix> curl ‘http://localhost:8080/resin-rest/pdf-report?snapshot=true&load-pdf=true’ > snapshot.pdf

or via Resin-Admin on the PDF Page:

http://localhost:8080/resin-admin/index.php?q=pdf&s=0

Watchdog report are usually generated automatically after any unexpected server restart. Check your logs directory for Watchdog-*.pdf files. However you can always regenerate a Watchdog report from Resin-Admin on the Watchdog Page:

http://localhost:8080/resin-admin/index.php?q=watchdog&s=0

The Resin Administration Console video on YouTube provides an excellent overview of Resin-Admin and PDF Health Report content.

Tags: health, pdf, snapshot
Posted in Uncategorized | No Comments »

Cluster Configuration Using a Centralized Configuration Server

Tuesday, September 4th, 2012

Resin has the very convenient ability to import configuration from an HTTP URL. This feature in combination with clever usage of environment variables can be a huge help avoiding the issues caused by maintaining local copies of configuration files in a large environment. In this Wiki article I setup a webserver as a centralized configuration repository and show how to modify your local Resin configuration such that the same file can be used by any Resin instance in any environment.

http://wiki4.caucho.com/Cloud:_Cluster-Wide_Configuration_Using_HTTP

Tags: cluster, configuration
Posted in Uncategorized | No Comments »

Running Jasper JSP Engine on Resin

Wednesday, August 15th, 2012

I posted a new wiki entry that explains how to run Jasper JSP Engine on Resin: http://wiki4.caucho.com/Jasper_JSP_Engine_On_Resin_Deployment.

Posted in Uncategorized | No Comments »

NginX 1.2.0 versus Resin 4.0.29 performance tests

Thursday, July 5th, 2012

We have recently run some performance benchmarks comparing Resin 4.0.29 versus NginX 1.2.0. These benchmarks show that Java-based Resin Pro matches or exceeds C-based NginX’s throughput.

Summary: Using industry standard tool and methodology, Resin Pro web server was put to the test versus Nginx, a popular web server with a reputation for efficiency and performance. Nginx is known to be faster and more reliable under load than the popular Apache HTTPD. Benchmark tests between Resin and Nginx yielded competitive figures, with Resin leading with fewer errors and faster response times. In numerous and varying tests, Resin handled 20% to 25% more load while still outperforming Nginx. In particular, Resin was able to sustain fast response times under extremely heavy load while Nginx performance degraded. (See related press release).

(more…)

Posted in Uncategorized | No Comments »

Deploying Seam-Booking Example on Resin Server

Tuesday, June 26th, 2012

Scott and I just finished work on making sure Seam-Booking example works on Resin. I posted a tutorial on deploying seam-booking in Resin at Resin Wiki: Seam On Resin . It requires Resin 4.0.29 which is due in about a week from now.

Posted in Uncategorized | No Comments »

Does Resin Support EJB remoting?

Wednesday, May 16th, 2012

The short answer is no. The longer answer is that Resin supports Hessian for remoting. And, in about 20 lines of code, you can expose all @Stateless/@Remote beans as remote services using the Hessian protocol using CDI and Servlet 3.0, which are part of Resin and part of Java EE Web Profile (as Resin 4 is a Java EE Web Profile certified application server).

Hessian (now Hessian 2) predates many other forms of remoting and is a [http://daniel.gredler.net/2008/01/07/java-remoting-protocol-benchmarks/ wicked fast, binary protocol] (faster than CORBA, RMI, SOAP, XML-RPC, etc). You could think of Hessian as a high performance binary JSON. Hessian has been ported to many languages. Hessian is a remoting framework and a flexible Java serialization framework.

You can expose any bean as a Hessian remote bean quite easily. Hessian has been around for 10 years, and is very solid. (Both Hessian and Resin are development and maintained by Caucho).

Resin 4 documentation does not have Hessian documentation yet, but Hessian usage has not changed in years. You can find a good tutorial on getting started with Hessian from the [http://www.caucho.com/resin-3.0/protocols/hessian.xtp Resin 3 documentation]. I’ve tried these tutorial steps in Resin 4 and the tutorial works as advertised.

Resin 4 is Java EE Web Profile certified as such it does not support CORBA, EJB remoting, etc. However Resin does support Java Dependency Injection (CDI), which allows you to easily find beans with certain annotations. What follows is a simple example that finds all @Stateless beans that have @Remote interfaces and automatically exposes those beans as remote hessian objects.

To learn more go to our wiki for Resin 4 Java EE WebProfile application server.

Posted in Uncategorized | No Comments »

Integrating with Resin REST: Graphs

Wednesday, March 7th, 2012

I’ve added a cookbook that demonstrates how to create a Graph using Resin REST and flot graph plotting library. The sample php file works with Resin-Pro-4.0.26.

wiki: Application Server: REST Graphing

The sample page requires jquery.flot.js. You can copy the files from doc/admin/flot located in Resin distributable.

Posted in Uncategorized | No Comments »

PHP with CGI and FastCGI

Friday, February 3rd, 2012

I’ve added 2 cookbooks to the Resin 4 Wiki demonstrating Resin’s capability to execute scripts via CGI and FastCGI.

  • wiki: Native PHP With CGIServlet
  • wiki: Native PHP With FastCGIServlet
  • The example use PHP as the CGI executable, but they can be easily adapted to any CGI script.

    Of course Resin includes Quercus, a 100% pure Java PHP interpreter. These examples demonstrate how to execute the native PHP interpreter without the need for Apache.

    I also included instruction on setting up WordPress with CGI and FastCGI.

    Posted in Uncategorized | No Comments »

    Resin Custom URL Rewriting

    Wednesday, January 25th, 2012

    I added a new cookbook to create a custom URL rewrite rule.

    wiki: Resin Application Server: Custom Rewrite Rules

    Resin’s URL rewriting is similar to Apache’s mod_rewrite, using regexp matching and the CDI XML syntax for built-in rules like resin:Redirect, resin:MovedPermanently and resin:Dispatch. In addition to the build-in rules, you can create your own custom rules for more sophisticated
    URL management. This wiki cookbook gives a quick example of one of those rules.

    Posted in Uncategorized | No Comments »

    « Older Entries

    Caucho Technology is proudly powered by WordPress and Quercus®
    Entries (RSS) and Comments (RSS).

    • HOME |
    • CONTACT US |
    • DOCUMENTATION |
    • BLOG |
    • WIKI 4 |
    • WIKI 3 |
    • Resin: Java Application Server
    Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
    caucho® , resin® and quercus® are registered trademarks of Caucho Technology, Inc.
    resin® is a cloud optimized, java® application server that supports the java ee webprofile ®