I can reproduce your error when I deploy the project (compiled with 1.7) and running with JDK 1.7 on Karaf 2.2.1/Felix 3.2.2 (= SMX 4.5.3)
2014-05-21 13:30:25,020 | INFO | l Console Thread | ClasspathKieProject | 211 - org.drools.compiler - 6.0.3.redhat-1 | Found kmodule: bundle://214.4:1/META-INF/kmodule.xml
2014-05-21 13:30:25,024 | DEBUG | l Console Thread | ClasspathKieProject | 211 - org.drools.compiler - 6.0.3.redhat-1 | Discovered classpath module org.drools.example:simple:1.0.0-SNAPSHOT
2014-05-21 13:30:25,024 | INFO | l Console Thread | KieRepositoryImpl | 211 - org.drools.compiler - 6.0.3.redhat-1 | KieModule was added:org.drools.osgi.compiler.OsgiKieModule@501d0b5a
2014-05-21 13:30:25,044 | ERROR | l Console Thread | AbstractKieModule | 211 - org.drools.compiler - 6.0.3.redhat-1 | Unable to build KieBaseModel:sampleKBase
Rule Compilation error : [Rule name='CanDrink']
org/drools/example/drink/Rule_CanDrink1955060708.java (8:541) : ArrayList cannot be resolved to a type
org/drools/example/drink/Rule_CanDrink1955060708.java (8:550) : Syntax error on token "<", ? expected after this token
BTW you have a workaround which is to define your code like this
List<String> l = new ArrayList<String>();
Is it because the server runs with JDK 5 in production that you cannot change the code of the rules ?
As ServiceMix is just a packaging of Karaf + Camel + Cxf + ActiveMQ, why don't you use directly Karaf and a more recent version of Felix (4.x) ?