No qualifying bean of type 'com.atlassian.confluence.user.UserAccessor' available error
Asked by Chong Jing Hong:

Hi, I am trying to import the UserAccessor in my servlet class. However, whenever I use the servlet module, this error pops up:
> com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dso.intern.plugin.BulkUserCreatorToolServlet': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.confluence.user.UserAccessor' available: expected  
> at least 1 bean which qualifies as autowire candidate.

Here's my code:

```
@Named("BulkUserCreatorToolServlet") 
public class BulkUserCreatorToolServlet extends HttpServlet{ 
private final UserAccessor userAccessor; 
public BulkUserCreatorToolServlet(UserAccessor userAccessor){ 
this.userAccessor = userAccessor; 
} 

@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 
// Create a factory for disk-based file items 
DiskFileItemFactory factory = new DiskFileItemFactory(); 
// Configure a repository (to ensure a secure temp location is used) 
ServletContext servletContext = this.getServletConfig().getServletContext(); 
File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); 
factory.setRepository(repository); 
// Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); 

try{ 
//Parse the request to get file items List<FileItem> fileItems = upload.parseRequest(request); 
// Process the uploaded items Iterator<FileItem> iter = fileItems.iterator(); 
String contentType = null; while(iter.hasNext()){ 
FileItem item = iter.next(); 
if(!item.isFormField()){ 
String content = item.getString(); 
StringReader sReader = new StringReader(content); 
Iterable<CSVRecord> records = CSVFormat.DEFAULT.withFirstRecordAsHeader().parse(sReader); 
(CSVRecord record : records){ 
String username = record.get("?>>?Username"); //UTF-8 BOM 
String fullname = record.get("Fullname"); 
String email = record.get("Email"); 
String password = record.get("Password"); 
String groupsToBeAddedInto = record.get("GroupsToBeAddedInto");
DefaultUser defaultUser = new DefaultUser(username, fullname, email); 
ConfluenceUser newUser = userAccessor.createUser(defaultUser, Credential.unencrypted(password)); 
userAccessor.addMembership(UserAccessor.GROUP_CONFLUENCE_USERS, username); } } } 

response.setContentType("text/html; charset=UTF-8"); 
PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html>"); 
out.println("<html><head>"); out.println("<meta name=\"decorator\" content=\"atl.admin\" />"); 
out.println("<title>Response Page</title></head></html>"); } 

catch(FileUploadException e){ e.printStackTrace(); } 
catch(Exception e){ e.printStackTrace(); } } }
```

What did I do wrong? Thank you


Answers:
author: Fabian Lim
body: Hi Chong,

Looks like you got your answer here: <https://community.developer.atlassian.com/t/no-qualifying-bean-of-type-com-atlassian-confluence-user-useraccessor-available-error/49254>

Thanks


Tags: confluence-development

confluence-server

server