Coder Social home page Coder Social logo

clougence / hasor Goto Github PK

View Code? Open in Web Editor NEW
982.0 64.0 273.0 64.2 MB

Hasor是一套基于 Java 语言的开发框架,区别于其它框架的是 Hasor 有着自己一套完整的体系,同时还可以和先有技术体系做到完美融合。它包含:IoC/Aop容器框架、Web框架、Jdbc框架、RSF分布式RPC框架、DataQL引擎,等几块。

Home Page: http://www.hasor.net

License: Apache License 2.0

Java 96.79% HTML 0.39% Shell 0.27% Batchfile 0.17% Groovy 0.03% JavaScript 0.56% Vue 0.90% Dockerfile 0.01% TSQL 0.06% ANTLR 0.09% CSS 0.16% Smarty 0.03% CodeQL 0.47% PLSQL 0.06%
jdbc ioc aop mvc web db rpc restful java dataql

hasor's Introduction

Hasor

   Hasor 本身是由多个不同系列框架组合而成的一个框架体系。这些子框架的能力涵盖了 IoC、Aop、WebMVC、数据库以及其它方方面面。这一切的基础要归功于 Hasor 的插件化能力。

   Hasor 帮助您设计更好的 API,它独有的框架扩展能力可以使新的能力完全无缝的集成到统一的 API 体系中。我们构建了通用功能,使您能够扩展 Hasor,而不是向核心框架添加每个特性。

   Hasor 的扩展能力更像是一个乐高玩具的接口,任何人都可以通过非常简单的方式提供乐高积木,然后轻松的将它们融合到一起。在使用的过程中完全感受不到背后是多个不同的框架在协作。Hasor API 本身就是一个很好的例子。

   Hasor 的目标是使开发和调试变得更容易和更快,而不是更困难和更慢。

   有关 Hasor 的介绍以及使用请查看我们的用户指南。自2013年开源以来,我们一直在更新和迭代,到如今已经有快 10个年头了很多关键应用程序中都在运行 Hasor,现在您可以更加放心的使用它。我们希望您和我们一样喜欢它。

hasor's People

Contributors

chming7 avatar cubemoon avatar dependabot[bot] avatar giscafer avatar gitter-badger avatar hejun5448 avatar javamxd avatar mrsazz avatar noear avatar thebe4st avatar wendal avatar yaoguaida avatar zycgit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hasor's Issues

整合 sprintboot dataway , 启动成功访问/interface-ui/失败

整合 sprintboot dataway , 启动成功了,但是访问/interface-ui/报错
let.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-04-21 00:47:57.320 INFO 47720 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 12 ms
2020-04-21 00:47:57.358 ERROR 47720 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception

java.lang.NullPointerException: null
at net.hasor.utils.io.IOUtils.copyLarge(IOUtils.java:1556) ~[hasor-commons-4.1.3.jar:na]
at net.hasor.utils.io.IOUtils.copyLarge(IOUtils.java:1535) ~[hasor-commons-4.1.3.jar:na]
at net.hasor.utils.io.IOUtils.copy(IOUtils.java:1512) ~[hasor-commons-4.1.3.jar:na]
at net.hasor.dataway.config.InterfaceUiFilter.doInvoke(InterfaceUiFilter.java:91) ~[hasor-dataway-4.1.3.jar:na]
at net.hasor.web.binder.FilterDef.doInvoke(FilterDef.java:99) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.invoker.InvokerChainInvocation.doNext(InvokerChainInvocation.java:41) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.invoker.InvokerChainInvocation.doNext(InvokerChainInvocation.java:43) ~[hasor-web-4.1.3.jar:na]
at net.hasor.dataql.fx.web.FxWebInterceptor.doInvoke(FxWebInterceptor.java:40) ~[hasor-dataql-fx-4.1.3.jar:na]
at net.hasor.web.binder.FilterDef.doInvoke(FilterDef.java:99) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.invoker.InvokerChainInvocation.doNext(InvokerChainInvocation.java:41) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.render.RenderWebPlugin.doRenderInvoker(RenderWebPlugin.java:124) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.render.RenderWebPlugin.doInvoke(RenderWebPlugin.java:80) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.binder.FilterDef.doInvoke(FilterDef.java:99) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.invoker.InvokerChainInvocation.doNext(InvokerChainInvocation.java:41) ~[hasor-web-4.1.3.jar:na]
at net.hasor.web.invoker.InvokerContext.lambda$genCaller$3(InvokerContext.java:106) ~[hasor-web-4.1.3.jar:na]

<hasor.version>4.1.3</hasor.version>
<dataway.version>4.1.3</dataway.version>
jdk1.8

是否支持redis之类的缓存

场景:频繁查询的接口数据想要从数据查询一次缓存到redis之后从缓存获取数据

请问针对以上场景有相关设计和解决方案吗?想了解一一下。谢谢!

springboot 1.5.10.RELEASE 集成 dataway

看资料是springboot 的最低版本是 2.2.4.RELEASE
在1.5.10.RELEASE的环境下,只要开启 @EnableHasorWeb() 就 会报以下错误
propertySourcesPlaceholderConfigurer 注入失败
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration.propertySourcesPlaceholderConfigurer Caused by: java.lang.reflect.MalformedParameterizedTypeException: null

image

hint FRAGMENT_SQL_COLUMN_CASE = "hump"导致查不到数据

hint FRAGMENT_SQL_COLUMN_CASE = "hump"
import 'net.hasor.dataql.fx.basic.CollectionUdfSource' as collect;
var getUserList = @@sql(params)<%
select id,phone,cs_id,gender from user_user limit ${params==null?10:params}
%>

return collect.filter(getUserList(${param})=>[{
    "id",
    "phone",
    "cs_id":cs_id,
    "gender":(gender == 1)?'男':'女'
}], (dat) -> { return dat.cs_id != null; });

这样的语法有问题吗?没加hint FRAGMENT_SQL_COLUMN_CASE = "hump"之前可以查到数据,但要做驼峰转换,加了这句什么数据都查不到了

SQL根据参数动态组装SQL

目前新增SQL,无法像mybatis的if标签对入参做一些判断,进行动态sql组装,现在的做法是必须使用DataQL, 在内部判断进行SQL组装,然后进行拼接,条件如果很多DataQL会非常复杂,难以维护,能否提供类似的机制,可以方便的新增SQL API实现动态SQL组装,比如:
select * from employee where 1=1 [and username = #{username}] [and dept_no = #{deptNo}]
这样如果参数传入username可以根据username查询, 如果传入deptNo可以根据deptNo查询,如果不传入则忽略[]里的查询条件

日志优化

新版本4.1.4在报错的时候并不输出日志,建议在配置中区分开生产环境和开发环境,否则开发报错的时候无法查看日志只能手写拦截器

文档中的例子错误

下面文档中的例子执行报错

var dataSet = @@sql(item_code) <%
    select * from category where co_code = :item_code
%>
return dataSet() => [
    { "id","name","code","body" }
]

"value": "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':item_code' at line 1"

Safari 浏览器资源加载 hang

问题

启动后日志正常,但访问interface-ui页面空白,一直在加载,无响应

环境

  • JDK 1.8
  • MySql 8
  • SpringBoot 2.2.6.RELEASE

说明

manve配置pom.xml

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.22</version>
        </dependency>
        <dependency>
            <groupId>net.hasor</groupId>
            <artifactId>hasor-spring</artifactId>
            <version>4.1.4</version>
        </dependency>
        <dependency>
            <groupId>net.hasor</groupId>
            <artifactId>hasor-dataway</artifactId>
            <version>4.1.4</version>
        </dependency>

配置application.yml

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
      username: test
      password: test
      driver-class-name: com.mysql.cj.jdbc.Driver
# 启用 Dataway 功能(默认不启用)
HASOR_DATAQL_DATAWAY: true
# 开启 ui 管理功能(注意生产环境必须要设置为 false,否则会造成严重的生产安全事故)
HASOR_DATAQL_DATAWAY_ADMIN: true
# (可选)API工作路径
HASOR_DATAQL_DATAWAY_API_URL: /api/
# (可选)ui 的工作路径,只有开启 ui 管理功能后才有效
HASOR_DATAQL_DATAWAY_UI_URL: /interface-ui/
# SQL执行器方言设置(可选,建议设置)
HASOR_DATAQL_FX_PAGE_DIALECT: mysql

启动类:DemoApplication.java

@EnableHasor
@EnableHasorWeb
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

配置类:ExampleModule.java

@DimModule
@Component
public class ExampleModule implements SpringModule {
    @Autowired
    private DataSource dataSource = null;
    @Override
    public void loadModule(ApiBinder apiBinder) throws Throwable {
        apiBinder.installModule(new JdbcModule(Level.Full, this.dataSource));
    }
}

启动日志

/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java -Dvisualvm.id=23927233088889 -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=49653:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/lib/tools.jar:/Users/apple/Desktop/demo/target/classes:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.2.6.RELEASE/spring-boot-starter-web-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter/2.2.6.RELEASE/spring-boot-starter-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot/2.2.6.RELEASE/spring-boot-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.2.6.RELEASE/spring-boot-starter-logging-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/apple/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/apple/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.12.1/log4j-to-slf4j-2.12.1.jar:/Users/apple/.m2/repository/org/apache/logging/log4j/log4j-api/2.12.1/log4j-api-2.12.1.jar:/Users/apple/.m2/repository/org/slf4j/jul-to-slf4j/1.7.30/jul-to-slf4j-1.7.30.jar:/Users/apple/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/apple/.m2/repository/org/springframework/spring-core/5.2.5.RELEASE/spring-core-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-jcl/5.2.5.RELEASE/spring-jcl-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.2.6.RELEASE/spring-boot-starter-json-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.10.3/jackson-databind-2.10.3.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.10.3/jackson-annotations-2.10.3.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.10.3/jackson-core-2.10.3.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.10.3/jackson-datatype-jdk8-2.10.3.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.10.3/jackson-datatype-jsr310-2.10.3.jar:/Users/apple/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.10.3/jackson-module-parameter-names-2.10.3.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.2.6.RELEASE/spring-boot-starter-tomcat-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.33/tomcat-embed-core-9.0.33.jar:/Users/apple/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.33/tomcat-embed-el-9.0.33.jar:/Users/apple/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.33/tomcat-embed-websocket-9.0.33.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-validation/2.2.6.RELEASE/spring-boot-starter-validation-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar:/Users/apple/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.18.Final/hibernate-validator-6.0.18.Final.jar:/Users/apple/.m2/repository/org/jboss/logging/jboss-logging/3.4.1.Final/jboss-logging-3.4.1.Final.jar:/Users/apple/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/Users/apple/.m2/repository/org/springframework/spring-web/5.2.5.RELEASE/spring-web-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-beans/5.2.5.RELEASE/spring-beans-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-webmvc/5.2.5.RELEASE/spring-webmvc-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-aop/5.2.5.RELEASE/spring-aop-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-context/5.2.5.RELEASE/spring-context-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-expression/5.2.5.RELEASE/spring-expression-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-data-jdbc/2.2.6.RELEASE/spring-boot-starter-data-jdbc-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.2.6.RELEASE/spring-boot-starter-jdbc-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/com/zaxxer/HikariCP/3.4.2/HikariCP-3.4.2.jar:/Users/apple/.m2/repository/org/springframework/spring-jdbc/5.2.5.RELEASE/spring-jdbc-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/data/spring-data-jdbc/1.1.6.RELEASE/spring-data-jdbc-1.1.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/data/spring-data-relational/1.1.6.RELEASE/spring-data-relational-1.1.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/data/spring-data-commons/2.2.6.RELEASE/spring-data-commons-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/org/springframework/spring-tx/5.2.5.RELEASE/spring-tx-5.2.5.RELEASE.jar:/Users/apple/.m2/repository/mysql/mysql-connector-java/8.0.19/mysql-connector-java-8.0.19.jar:/Users/apple/.m2/repository/com/alibaba/druid-spring-boot-starter/1.1.22/druid-spring-boot-starter-1.1.22.jar:/Users/apple/.m2/repository/com/alibaba/druid/1.1.22/druid-1.1.22.jar:/Users/apple/.m2/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar:/Users/apple/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.2.6.RELEASE/spring-boot-autoconfigure-2.2.6.RELEASE.jar:/Users/apple/.m2/repository/net/hasor/hasor-spring/4.1.4/hasor-spring-4.1.4.jar:/Users/apple/.m2/repository/net/hasor/hasor-core/4.1.4/hasor-core-4.1.4.jar:/Users/apple/.m2/repository/net/hasor/hasor-commons/4.1.4/hasor-commons-4.1.4.jar:/Users/apple/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/apple/.m2/repository/net/hasor/hasor-dataway/4.1.4/hasor-dataway-4.1.4.jar:/Users/apple/.m2/repository/net/hasor/hasor-web/4.1.4/hasor-web-4.1.4.jar:/Users/apple/.m2/repository/net/hasor/hasor-db/4.1.4/hasor-db-4.1.4.jar:/Users/apple/.m2/repository/net/hasor/hasor-dataql/4.1.4/hasor-dataql-4.1.4.jar:/Users/apple/.m2/repository/org/antlr/antlr4-runtime/4.7.2/antlr4-runtime-4.7.2.jar:/Users/apple/.m2/repository/net/hasor/hasor-dataql-fx/4.1.4/hasor-dataql-fx-4.1.4.jar:/Users/apple/.m2/repository/com/alibaba/fastjson/1.2.67/fastjson-1.2.67.jar com.example.demo.DemoApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.6.RELEASE)

2020-05-06 17:31:18.535  INFO 11794 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on bogon with PID 11794 (/Users/apple/Desktop/demo/target/classes started by apple in /Users/apple/Desktop/demo)
2020-05-06 17:31:18.537  INFO 11794 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2020-05-06 17:31:18.981  INFO 11794 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2020-05-06 17:31:18.996  INFO 11794 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 10ms. Found 0 JDBC repository interfaces.
2020-05-06 17:31:19.372  INFO 11794 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-05-06 17:31:19.379  INFO 11794 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-05-06 17:31:19.380  INFO 11794 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.33]
2020-05-06 17:31:19.430  INFO 11794 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-05-06 17:31:19.430  INFO 11794 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 859 ms
2020-05-06 17:31:19.441  INFO 11794 --- [           main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
2020-05-06 17:31:21.698  INFO 11794 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
2020-05-06 17:31:21.717  INFO 11794 --- [           main] n.h.spring.boot.BasicHasorConfiguration  : 
 _    _                        ____              _
| |  | |                      |  _ \            | |
| |__| | __ _ ___  ___  _ __  | |_) | ___   ___ | |_
|  __  |/ _` / __|/ _ \| '__| |  _ < / _ \ / _ \| __|
| |  | | (_| \__ \ (_) | |    | |_) | (_) | (_) | |_
|_|  |_|\__,_|___/\___/|_|    |____/ \___/ \___/ \__|

2020-05-06 17:31:21.721  INFO 11794 --- [           main] net.hasor.core.Hasor                     : runMode at Full ,runPath at /Users/apple/Desktop/demo
2020-05-06 17:31:21.725  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/core-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-core/4.1.4/hasor-core-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.726  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/dataway-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-dataway/4.1.4/hasor-dataway-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.726  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/web-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-web/4.1.4/hasor-web-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.726  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/db-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-db/4.1.4/hasor-db-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.735  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/dataql-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-dataql/4.1.4/hasor-dataql-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.736  INFO 11794 --- [           main] n.h.c.setting.StandardContextSettings    : addConfig '/META-INF/hasor-framework/dataql-fx-hconfig.xml' in 'jar:file:/Users/apple/.m2/repository/net/hasor/hasor-dataql-fx/4.1.4/hasor-dataql-fx-4.1.4.jar!/META-INF/hasor.schemas'
2020-05-06 17:31:21.773  INFO 11794 --- [           main] n.h.c.environment.AbstractEnvironment    : loadPackages = com.*, net.*, net.hasor.*, net.hasor.dataql.*, net.hasor.dataql.fx.*, net.hasor.dataway.*, net.hasor.db.*, net.hasor.web.*, org.*
2020-05-06 17:31:21.830  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.dataway.config.DatawayModule
2020-05-06 17:31:21.831  INFO 11794 --- [           main] net.hasor.dataway.config.DatawayModule   : dataway api workAt /api/
2020-05-06 17:31:21.831  INFO 11794 --- [           main] n.h.c.environment.AbstractEnvironment    : var -> HASOR_DATAQL_DATAWAY_API_URL = /api/.
2020-05-06 17:31:21.837  INFO 11794 --- [           main] net.hasor.dataway.config.DatawayModule   : dataway self isolation ->net.hasor.dataway.config.DatawayModule
2020-05-06 17:31:21.838  INFO 11794 --- [           main] net.hasor.dataway.config.DatawayModule   : dataway admin workAt /interface-ui/
2020-05-06 17:31:21.846  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[349bde9e64ad45f6b0e502ebd4ca8a43] -> bindType ‘class net.hasor.dataway.web.ApiDetailController’ mappingTo: ‘[/interface-ui/api/api-detail]’.
2020-05-06 17:31:21.846  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[8f2d7d4a1eaa41899eeaf64e29235827] -> bindType ‘class net.hasor.dataway.web.ApiHistoryListController’ mappingTo: ‘[/interface-ui/api/api-history]’.
2020-05-06 17:31:21.847  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[35b6acbdaf4746afa9fc9dac907803a0] -> bindType ‘class net.hasor.dataway.web.ApiInfoController’ mappingTo: ‘[/interface-ui/api/api-info]’.
2020-05-06 17:31:21.847  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[e87a628791534d5f8cd1ead8951a27ba] -> bindType ‘class net.hasor.dataway.web.ApiListController’ mappingTo: ‘[/interface-ui/api/api-list]’.
2020-05-06 17:31:21.848  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[c2258669736a445fb49cd3202b1dd91d] -> bindType ‘class net.hasor.dataway.web.ApiHistoryGetController’ mappingTo: ‘[/interface-ui/api/get-history]’.
2020-05-06 17:31:21.850  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[808bb015db1f42c6b006b7a51054e90b] -> bindType ‘class net.hasor.dataway.web.DisableController’ mappingTo: ‘[/interface-ui/api/disable]’.
2020-05-06 17:31:21.850  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[99184dab51104a6c8bb9fd391005bc29] -> bindType ‘class net.hasor.dataway.web.SmokeController’ mappingTo: ‘[/interface-ui/api/smoke]’.
2020-05-06 17:31:21.851  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[6db578f445d1425f96fd195e41fbff40] -> bindType ‘class net.hasor.dataway.web.SaveApiController’ mappingTo: ‘[/interface-ui/api/save-api]’.
2020-05-06 17:31:21.851  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[02c47e8511ec4ef18a07a22f7befdd33] -> bindType ‘class net.hasor.dataway.web.PublishController’ mappingTo: ‘[/interface-ui/api/publish]’.
2020-05-06 17:31:21.852  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[c703653a4b4a4899bf758bd330065b91] -> bindType ‘class net.hasor.dataway.web.PerformController’ mappingTo: ‘[/interface-ui/api/perform]’.
2020-05-06 17:31:21.852  INFO 11794 --- [           main] net.hasor.core.binder.ApiBinderWrap      : mapingTo[2ad38f111d234f48b38dc96322fc5075] -> bindType ‘class net.hasor.dataway.web.DeleteController’ mappingTo: ‘[/interface-ui/api/delete]’.
2020-05-06 17:31:21.853  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.web.render.RenderWebPlugin
2020-05-06 17:31:21.854  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.core.exts.startup.StartupModule
2020-05-06 17:31:21.854  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.core.exts.aop.AopModule
2020-05-06 17:31:21.855  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.dataql.fx.FxModule
2020-05-06 17:31:21.857  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class com.example.demo.ExampleModule
2020-05-06 17:31:21.858  INFO 11794 --- [           main] n.h.core.context.TemplateAppContext$1    : installModule ->net.hasor.db.JdbcModule@e344ad3
2020-05-06 17:31:21.862  INFO 11794 --- [           main] n.hasor.core.context.TemplateAppContext  : loadModule class net.hasor.spring.boot.BasicHasorConfiguration$$Lambda$416/2065730373
2020-05-06 17:31:21.882  INFO 11794 --- [           main] net.hasor.dataway.config.DatawayModule   : dataway dbMapping MySQL to default
2020-05-06 17:31:21.883  INFO 11794 --- [           main] net.hasor.web.render.RenderWebPlugin     : RenderPlugin init -> useLayout=false, layoutPath=/layout, templatePath=/templates, placeholder=content_placeholder, defaultLayout=default.html
2020-05-06 17:31:21.893  INFO 11794 --- [sor-EventPool-1] n.hasor.core.context.TemplateAppContext  : Hasor StartCompleted!
2020-05-06 17:31:21.895  INFO 11794 --- [           main] n.h.spring.boot.WebHasorConfiguration    : @EnableHasorWeb -> filterPath='/*', filterOrder='0', filterWorkAt='Filter'
2020-05-06 17:31:21.982  INFO 11794 --- [           main] net.hasor.web.startup.RuntimeListener    : ServletContext Attribut is net.hasor.core.AppContext
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.ApiDetailController’ mappingTo: ‘/interface-ui/api/api-detail’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.ApiHistoryListController’ mappingTo: ‘/interface-ui/api/api-history’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.ApiInfoController’ mappingTo: ‘/interface-ui/api/api-info’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.ApiListController’ mappingTo: ‘/interface-ui/api/api-list’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.ApiHistoryGetController’ mappingTo: ‘/interface-ui/api/get-history’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.DisableController’ mappingTo: ‘/interface-ui/api/disable’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.SmokeController’ mappingTo: ‘/interface-ui/api/smoke’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.SaveApiController’ mappingTo: ‘/interface-ui/api/save-api’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.PublishController’ mappingTo: ‘/interface-ui/api/publish’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.PerformController’ mappingTo: ‘/interface-ui/api/perform’.
2020-05-06 17:31:21.986  INFO 11794 --- [           main] net.hasor.web.invoker.InvokerContext     : mapingTo -> type ‘class net.hasor.dataway.web.DeleteController’ mappingTo: ‘/interface-ui/api/delete’.
2020-05-06 17:31:22.002  INFO 11794 --- [           main] net.hasor.web.startup.RuntimeFilter      : RuntimeFilter started, at Apache Tomcat/9.0.33
2020-05-06 17:31:22.126  INFO 11794 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-05-06 17:31:22.349  INFO 11794 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-05-06 17:31:22.352  INFO 11794 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.117 seconds (JVM running for 4.594)
2020-05-06 17:32:28.418  INFO 11794 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-05-06 17:32:28.418  INFO 11794 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-05-06 17:32:28.423  INFO 11794 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 5 ms

请求http://localhost:8080/interface-ui/ 效果
WeChatfa955c8dfb3b22229cdaaf9b3efb6176

Unknown SqlMode.

运行示例报下面的错误,啥原因?
2020-04-29 17:29:51.341 INFO 17824 --- [ main] com.xxmfypp.test.HasorApplication : Started HasorApplication in 1.8 seconds (JVM running for 2.445)
2020-04-29 17:29:52.835 INFO 17824 --- [nio-8111-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-04-29 17:29:52.835 INFO 17824 --- [nio-8111-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-04-29 17:29:52.846 INFO 17824 --- [nio-8111-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 11 ms
2020-04-29 17:29:53.082 ERROR 17824 --- [nio-8111-exec-1] net.hasor.dataway.web.PerformController : Unknown SqlMode.

net.hasor.dataql.runtime.InstructRuntimeException: Unknown SqlMode.
at net.hasor.dataql.runtime.mem.RefCall.lambda$invokeMethod$0(RefCall.java:60) ~[hasor-dataql-4.1.3.jar:na]
at net.hasor.utils.ExceptionUtils.toRuntimeException(ExceptionUtils.java:40) ~[hasor-commons-4.1.3.jar:na]
at net.hasor.dataql.runtime.mem.RefCall.invokeMethod(RefCall.java:60) ~[hasor-dataql-4.1.3.jar:na]
at net.hasor.dataql.runtime.inset.CALL.doWork(CALL.java:58) ~[hasor-dataql-4.1.3.jar:na]
at net.hasor.dataql.runtime.inset.OpcodesPool.doWork(OpcodesPool.java:42) ~[hasor-dataql-4.1.3.jar:na]
at net.hasor.dataql.runtime.mem.RefLambdaCall.call(RefLambdaCall.java:53) ~[hasor-dataql-4.1.3.jar:na]

缓存问题

问下目前dataway有无一套内存缓存策略,如果每次访问mapping都增加了一次sql查询,感觉会产生额外开销,有无什么方法或者框架封装了一些像是ehcache、redis来实现mapping表的缓存呢?

Get请求的传参问题

最好能有个demo能说明每个请求方式的操作方式,我GET请求,定义参数无法传参

DataWay 关于整合Swagger的几个问题

在整合Swagger后,在DataWay中配置的接口中有Header参数,但是在Swagger UI中无法展现
image
image
因此无法填写header参数

还是上面的接口定义,在通过Swagger UI调试时,发现请求貌似发不出去的情况,导致无法调试
image
image
怀疑是BaseURL更改为主机名的原因,DataWay搭建在服务器中,我的本地环境并没有配置这个主机名映射(接口调用方人员更不会在本地去配置这个),所以想问一下有什么办法不让BaseURL更改为主机名吗?
image

谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.