我有一个差不多完成的项目,现在我需要编写一个文档.我在www中找到了一些信息,告诉他们"简单地"从现有代码中生成UML.
在顶部Menu是一个带有Architecture的部分,我可以在那里创建新的 UML图,但是我无法导入项目所具有的类.在所有其他论坛条目中,他们谈论的是一个Architecture Explorer,您可以在其中简单地拖放所需的类,并自动创建依赖项,但在我的情况下,此视图缺失.
如果你有一些很好的建议如何以不同的方式记录软件,那么欢迎你.
我目前正在使用 Spring 状态机构建一个小示例项目。
我的配置:
@Configuration
@EnableStateMachine
public class StateMachineConfiguration extends EnumStateMachineConfigurerAdapter<States, Events> {
@Override
public void configure(StateMachineStateConfigurer<States, Events> states)
throws Exception {
states
.withStates()
.initial(States.LOCKED)
.states(EnumSet.allOf(States.class));
}
@Override
public void configure(StateMachineTransitionConfigurer<States, Events> transitions)
throws Exception {
transitions
.withExternal()
.source(States.LOCKED)
.target(States.UNLOCKED)
.event(Events.COIN)
.and()
.withExternal()
.source(States.UNLOCKED)
.target(States.LOCKED)
.event(Events.PUSH);
}
@Bean
public StateMachineListener<States, Events> listener() {
return new StateMachineListenerAdapter<States, Events>() {
@Override
public void stateChanged(State<States, Events> from, State<States, Events> to) {
System.out.println("State change to " + to.getId());
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
当我现在尝试注入状态机时
@Autowired …Run Code Online (Sandbox Code Playgroud) 我想存储一个像这样的对象:
@Table(value = "my_table")
public class MyTableDto {
@PrimaryKeyColumn(name = "uid", type = PrimaryKeyType.PARTITIONED)
@CassandraType(type = DataType.Name.UUID)
private UUID uid;
@Column(value = "child_ids")
private List<ChildIdDto> childIds;
}
Run Code Online (Sandbox Code Playgroud)
然后我得到了例外:
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Only primitive types are allowed inside Collections for property [childIds] of type ['interface java.util.List'] in entity [de.myapplication.repository.dto.MyTableDto]
Run Code Online (Sandbox Code Playgroud)
我确实理解异常,但还有另一种方法可以保留自定义对象吗?
编辑:
我使用官方 flink 存储库中的以下 docker-compose.yml 启动了 flink。我只添加了到外部hadoop网络的连接。
version: "2.1"
networks:
hadoop:
external:
name: flink_hadoop
services:
jobmanager:
image: flink:1.7.1-hadoop27-scala_2.11
container_name: flink-jobmanager
domainname: hadoop
networks:
- hadoop
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: flink:1.7.1-hadoop27-scala_2.11
container_name: flink-taskmanager
domainname: hadoop
networks:
- hadoop
expose:
- "6121"
- "6122"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
Run Code Online (Sandbox Code Playgroud)
此后一切运行,我可以访问 WebUI。
然后我打包了以下工作。
import org.apache.flink.api.scala._
import org.slf4j.LoggerFactory
import stoff.schnaps.pojo.ActorMovie
object HdfsJob {
private lazy val logger = LoggerFactory.getLogger(getClass)
def …Run Code Online (Sandbox Code Playgroud)