diff --git a/pom.xml b/pom.xml
index 706a963..00b95d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>33</version>
+        <version>34-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServlet.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServlet.java
index c8d2e41..09f9cca 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServlet.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServlet.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByPath(sling_servlet_paths="/bin/PathBoundServlet")
+@SlingServletByPath(paths="/bin/PathBoundServlet")
 public class PathBoundServlet extends SlingSafeMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServletWithPrefix.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServletWithPrefix.java
index 25ca646..357db2d 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServletWithPrefix.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/PathBoundServletWithPrefix.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByPath(sling_servlet_paths="PathBoundServletWithPrefix", sling_servlet_prefix="/bin")
+@SlingServletByPath(paths="PathBoundServletWithPrefix", prefix="/bin")
 public class PathBoundServletWithPrefix extends SlingSafeMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServlet.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServlet.java
index a2bb695..a991ae4 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServlet.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServlet.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByResourceType(sling_servlet_resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServlet")
+@SlingServletByResourceType(resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServlet")
 public class ResourceTypeBoundServlet extends SlingAllMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithExtension.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithExtension.java
index ed87218..eefdf76 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithExtension.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithExtension.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByResourceType(sling_servlet_resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithExtension", sling_servlet_extensions= {"ext1", "ext2"})
+@SlingServletByResourceType(resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithExtension", extensions= {"ext1", "ext2"})
 public class ResourceTypeBoundServletWithExtension extends SlingAllMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithMethods.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithMethods.java
index 285c627..874c4cd 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithMethods.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithMethods.java
@@ -23,17 +23,12 @@
 
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.servlets.ServletResolverConstants;
 import org.apache.sling.api.servlets.SlingAllMethodsServlet;
 import org.apache.sling.servlets.annotations.SlingServletByResourceType;
 import org.osgi.service.component.annotations.Component;
 
-@Component(service=Servlet.class, property = { 
-        ServletResolverConstants.SLING_SERVLET_RESOURCE_TYPES + "=/apps/sling/testservlets/ResourceTypeBoundServletWithMethods",
-        ServletResolverConstants.SLING_SERVLET_METHODS + "=PUT",
-        ServletResolverConstants.SLING_SERVLET_METHODS + "=POST"
-      })
-@SlingServletByResourceType(sling_servlet_resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithMethods", sling_servlet_methods= {"PUT", "POST"})
+@Component(service=Servlet.class)
+@SlingServletByResourceType(resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithMethods", methods= {"PUT", "POST"})
 public class ResourceTypeBoundServletWithMethods extends SlingAllMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithPrefix.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithPrefix.java
index 9e293a7..519c576 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithPrefix.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithPrefix.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByResourceType(sling_servlet_resourceTypes="ResourceTypeBoundServletWithPrefix", sling_servlet_prefix="/apps/sling/testservlets")
+@SlingServletByResourceType(resourceTypes="ResourceTypeBoundServletWithPrefix", prefix="/apps/sling/testservlets")
 public class ResourceTypeBoundServletWithPrefix extends SlingAllMethodsServlet {
 
     /**
diff --git a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithSelectors.java b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithSelectors.java
index a79dd60..9cc3bbd 100644
--- a/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithSelectors.java
+++ b/src/main/java/org/apache/sling/servlets/annotations/testservlets/ResourceTypeBoundServletWithSelectors.java
@@ -28,7 +28,7 @@
 import org.osgi.service.component.annotations.Component;
 
 @Component(service=Servlet.class)
-@SlingServletByResourceType(sling_servlet_resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithSelectors", sling_servlet_selectors= {"selector1.selector2", "selector3"})
+@SlingServletByResourceType(resourceTypes="/apps/sling/testservlets/ResourceTypeBoundServletWithSelectors", selectors= {"selector1.selector2", "selector3"})
 public class ResourceTypeBoundServletWithSelectors extends SlingAllMethodsServlet {
 
     /**
diff --git a/src/test/java/org/apache/sling/servlets/annotations/ServletRegistrationIT.java b/src/test/java/org/apache/sling/servlets/annotations/ServletRegistrationIT.java
index 172cc1a..7f1b32a 100644
--- a/src/test/java/org/apache/sling/servlets/annotations/ServletRegistrationIT.java
+++ b/src/test/java/org/apache/sling/servlets/annotations/ServletRegistrationIT.java
@@ -85,6 +85,7 @@
     @Ignore("Prefix is ignored!")
     public void testPathBoundServletWithPrefix() throws ClientException {
         CLIENT.doGet("/bin/PathBoundServletWithPrefix", 555);
+        CLIENT.doGet("/bin/PathBoundServletWithPrefix.with.some.selector.and.extension", 555);
     }
 
     @Test
@@ -99,7 +100,7 @@
     @Test
     @Ignore("Prefix is not working somehow")
     public void testResourceTypeBoundServletWithPrefix() throws ClientException, UnsupportedEncodingException {
-        CLIENT.doGet("/content/servlettest/resourceTypeBoundServletWithPrefix", 403);
+        CLIENT.doGet("/content/servlettest/resourceTypeBoundServletWithPrefix", 555);
         CLIENT.doGet("/content/servlettest/resourceTypeBoundServletWithPrefix.html", 555);
         CLIENT.doGet("/content/servlettest/resourceTypeBoundServletWithPrefix.json", 555);
         // only GET and HEAD are supposed to be working
