Я начал работать с Spring Boot после 14 лет в C #, и теперь возникла небольшая проблема.
с действием:
@Component
public class GetBillingUserStatusActivity implements ITask<BillingStatus,
String>, ITasks {
@Override
public BillingStatus Execute(String firstInput) {
return BillingStatus.active;
}}
У меня есть класс wokflow, который будет выполнятьпрецедентное действие, подобное этому:
@Component
public class CreateUserTokenWorkflow {
@Autowired
private ITaskResolver taskResolver;
@Autowired
private GetBillingUserStatusActivity getBillingUserStatusActivity;
public String CreateUserToken() {
var task = taskResolver.ResolveTask(getBillingUserStatusActivity);
BillingStatus response = task.Execute("test");
return response.toString();
}}
, и моя проблема теперь в моем классе TaskResolver
@Component("taskResolver")
public class TaskResolver implements ITaskResolver {
@Override
public <T extends ITasks> T ResolveTask(ITasks t) {
T type = (T) GenericTypeResolver.resolveType(t.getClass(), t.getClass());
return type;
}
}
T type = (T) GenericTypeResolver.resolveType (t.getClass (), t.getClass ()) => приведение к ITask не удалось
ErrorMessage: класс java.lang.Class не может быть приведен к классу com.consumer.workflow.manager.ITasks (java.lang.Class находится в модуле java.baseзагрузчика 'bootstrap'; com.consumer.workflow.manager.ITasks находится в безымянном модуле загрузчика org.springframework.boot.devtools.restart.classloader.RestartClassLoader @ 211f766)