Monthly Archives: June 2012

Fixing the root cause of ORA-12519: TNS:no appropriate service handler found

Since about the middle of last week, the Oracle server in our dev environment had been reporting “ORA-12519: TNS:no appropriate service handler found” intermittently. Not having much time to look at it (and not being much of an Oracle DBA), I found restarting the Oracle server made it go away for a day or so. […]

C++ Unit Testing

Unit testing in managed languages such as Java and C# is easy. The general theory is that you create a Test annotation and apply that to your test functions. Next, you create a series of assert functions that throw an AssertFailed exception if an assertion doesn’t match what you expect. Finally, create a test runner […]

Classical Objects in JavaScript

I’ve recently found myself needing to do more with JavaScript than I have in the past and I thought a good way to understand some of the more interesting features of the language would be to attempt implement Java/C# style classes and inheritance. This has obviously been done before with various JavaScript libraries and frameworks […]

Debugging JMeter Plug-ins

When developing your own plugins, you’ll no doubt need to debug some sort of problem sooner or later. Writing log messages or even just printing directly to stdout will often give you the info you need, but eventually, you’ll want to hook up a debugger and step through your code. Fortunately, this is very easy […]

Faster JMeter If Controllers

When load testing to a large scale, it’s just as important for your test scripts to be optimized as it is for your servers. Your tests will often need to simulate thousands of users on a single physical box running JMeter and so you need to be running as efficiently as possible. If you are […]

Using JMeter’s Table Editor

Following on from my previous post about creating custom JMeter components, I thought it worth taking a look at using the test bean table editor as it’s a good way of editing lists for your own components. Unfortunately, it doesn’t have much documentation and only actually works due to type erasure! I’ve put together another […]