NutzCN Logo
问答 引入的nutz.jar获取配置文件
发布于 2941天前 作者 bddiudiu 2545 次浏览 复制 上一个帖子 下一个帖子
标签:

如果我现在在我的项目中新增了一个配置文件 我想修改nutz的源码让引入的nutz的jar包中可以调用

项目A 中有一个 abc.properties 然后我自己重新编译nutz获得nutz.jar 引入项目A 然后nutz.jar里面可以获取到A项目中的properties里面的信息 该如何修改?

23 回复

读取一个properties文件需要改源码?我没看明白两者的关系

现有的代码读不了?给点代码看看?

我想把功能整合到nutz里面去... 只是想加载nutz的引用的时候写个配置信息就可以了额

你需要的是PropertiesProxy类??

恩呐 我就是需要这个... 我想去整合dubbox... 然后用他的java config方式 把dubbox整合到里面 然后在工程中写一个duboox的配置信息 然后引入的nutz直接可以获取dubbox的信息进行初始化 然后就可以提供对应的服务了 我是这样想的... 求指导...

整合到nutz里面的啥??? nutz mvc?? 还是怎样?

现有的代码为何没有满足要求?打算改哪个类的代码???

你需要的是个MainSetup.init的时候加载dubbox的配置信息???

@wendal 这是 provider? 还是 customer

我看这个demo的意思就是 又做provider又做customer 是这个意思不

通过配置文件来获取 provider暴露的服务?

我写的client只用到customer吧?没写provider.

插件本身两者都支持, dubbo.xml里面可以同时配customer和provider的嘛

@wendal 其实我的想法是 我的 provider工程 引入nutz 然后直接暴露接口出去 比如我的一些同网段的其他工程可以直接用 dubbo引入service方式调用我的接口 然后我可以多部署几个provider工程 然后暴露一些出去 移动端可以直接用url调用我 所以我是想我在provider工程里面配置一些 dubbox用到的参数 比如 zk的地址啊 啥的 然后service层上面就准备去看看能不能实现标签@Reference去配置 然后nutz里面配置用javaconfig方式配置dubbox 这样... 但是吧 好像搞不起来.. 能力不够

如果有dubbo provider的demo,是不是你就能折腾呢??

@wendal 应该把 我现在遇到的问题就是 javaconfig方式配置dubbox没搞过... 但是dubbox我可以搞出来了 很尴尬

先clone源码

git clone https://github.com/wendal/nutz-book-project.git

然后恢复为指定版本

git checkout  c30700bc800b23b76b677fb781b9f0c0c2c587ec

额,如果只是读配置文件, PropertiesProxy应该是不错的选择, 它支持从classpath,及任意本地地址读取properties,扩展一下的话, 从任意自定义位置读取都行

@wendal 这个我找到啦 我先check出来搞一搞 搞起来了 我pull个requests出来给你看看好了

@wendal git checkout c30700bc800b23b76b677fb781b9f0c0c2c587ec 这个跑不了

@wendal ```
AdamdeMacBook-Pro:github adam$ git clone https://github.com/wendal/nutz-book-project.git
Cloning into 'nutz-book-project'...
remote: Counting objects: 11603, done.
remote: Total 11603 (delta 0), reused 0 (delta 0), pack-reused 11603
Receiving objects: 100% (11603/11603), 13.93 MiB | 1.20 MiB/s, done.
Resolving deltas: 100% (5461/5461), done.
Checking connectivity... done.
AdamdeMacBook-Pro:github adam$ git checkout c30700bc800b23b76b677fb781b9f0c0c2c587ec
fatal: reference is not a tree: c30700bc800b23b76b677fb781b9f0c0c2c587ec

```

cd nutz-book-project
git checkout c30700bc800b23b76b677fb781b9f0c0c2c587ec

@wendal AdamdeMacBook-Pro:github adam$ cd nutz-book-project/
AdamdeMacBook-Pro:nutz-book-project adam$ git checkout c30700bc800b23b76b677fb781b9f0c0c2c587ec
Note: checking out 'c30700bc800b23b76b677fb781b9f0c0c2c587ec'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at c30700b... update: 部分依赖jar的版本号 fix: layer.js和layer.css的位置不一致,导致重复加载

要不然给我个版本号 我直接拿那个版本的下来看?

@bddiudiu 我给的就是版本号

@wendal 在问一个菜鸟的问题

我看了book的源码 我说一下我的理解
我可以在我的provider项目中编写一个xml文件 配置相关的dubbo信息 (源生dubbo会自己判断如果没有xml就会去读取resources下的properties文件 这个还保留嘛?)
比如
application_name
registry_address
annotation_package

然后在我的service类中使用 dubbo自带的 @service标签 暴露服务

然后下面的项目启动其他的参考 book工程里面的 MainModule和MainSetup进行配置

这样我的provider工程就可以去提供服务了

customer
在customer工程中 也写一个跟上述一样的xml 然后在引用的地方写一个 @Reference(version="1.0.0") 这样去实现

我可以这样理解嘛?

如果以上理解的能算差不多的话 是不是切换duboox只要修改一下xml文件和jar 基本就应该可以了吧..

@wendal 哦了 谢谢指教

添加回复
请先登陆
回到顶部