juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcelo Souza Vieira <marcelosou...@gmail.com>
Subject Re: Juneau + Springboot
Date Sat, 24 Nov 2018 17:42:27 GMT
I figured out why it did not load like settings.
It was not the "juneau.configFile" fault.
Well, I was starting the example boot boot directive by intelli, not by
"java -jar".

This is giving error, because in the "ConfigFileStore" class, this line of
the problem.

dir = new File (getStringProperty (FILESTORE_directory, ".")).
getCanonicalFile ();

You can pick up a folder that is with the sample boot project, it is
picking up a folder that is not loaded, there is not a folder for all the
projects.
That's why I did not find the file.

Starting an application with "java -jar" running normally.

I made a manual configuration to test and work by adding a configuration
below.

System.setProperty ("ConfigFileStore.directory.s", "/ home / marcelo /
development / projects / juneau / juneau-examples /
juneau-examples-rest-springboot");

But by uploading an application, note that it works, but the visual
template is not loaded. So, that has more problems coming up from within
the IDE.

But, it worked.
I'm going to do the javadoc here for some classes and already release a
branch for you to test.

Marcelo

Em sex, 23 de nov de 2018 às 17:34, James Bognar <jamesbognar@apache.org>
escreveu:

> The Apache mail server doesn't support images or attachments so I can't
> actually see what the error is.  (really annoying limitation)
>
> I'm guessing the problem is that the "juneau.configFile" system property
> is not set.  That's a relative path to the location of the config file.  I
> set it like so in my app entry point:
>
> public static void main(String[] args) {
>    System.setProperty("juneau.configFile", "examples.cfg"):
>    context = SpringApplication.run(App.class, args);
>
>
>
> On Fri, Nov 23, 2018 at 1:22 PM Marcelo Souza Vieira <
> marcelosouzav@gmail.com> wrote:
>
>> Hello guys
>>
>> If anyone can help me.
>> I have a little problem uploading the system with spring.
>> I noticed that he was giving the message:
>> [image: Selection_047.jpg]
>> I saw that it looks like it can not load the data from the example.cfg.
>>
>> [image: Selection_046.jpg]
>> Quite strange, I could not identify.
>>
>> I saw that he finds the file, loads the object. But I do not know why it
>> does not recover the data.
>>
>> Marcelo
>>
>>
>>
>> Em sex, 23 de nov de 2018 às 15:28, Marcelo Souza Vieira <
>> marcelosouzav@gmail.com> escreveu:
>>
>>> Hello James,
>>>
>>> I want to have a version, at least to get the system up.
>>> But I do not know that last week for next week.
>>> It turned out that this week, I had an unforeseen.
>>> My daughter has been hospitalized since Tuesday. I've been in the
>>> hospital with her ever since.
>>> I'm trying to do some things, but actually, I can not even work.
>>> Chances are she'll be discharged tomorrow.
>>> I'll make it clear next week, but I can not guarantee that.
>>> A little more time would be very good.
>>>
>>> Em sex, 23 de nov de 2018 às 15:13, James Bognar <jamesbognar@apache.org>
>>> escreveu:
>>>
>>>> Hi Marcelo,
>>>>
>>>> I'm close to calling for a vote for Juneau v8.0.  But I'd like to get
>>>> your work included.  Do you think you are close to having something
>>>> available in the next week or so?  Or do you want more time?
>>>>
>>>> We may want to restructure the projects
>>>> - juneau-microservice - Parent pom
>>>>    - juneau-microservice-core - Contains base Microservice class.
>>>>    - juneau-microservice-jetty - Jetty-based microservice that uses
>>>> RestMicroservice.
>>>>    - jueanu-microservice-springboot - Your code.
>>>>    - juneau-microservice-jetty-template - Template starter project.
>>>>    - jueanu-microservice-springboot-template - Template starter project.
>>>>
>>>> Your code would be a valuable addition to the project.
>>>>
>>>> On Wed, Nov 21, 2018 at 3:18 PM James Bognar <jamesbognar@apache.org>
>>>> wrote:
>>>>
>>>>> I've also made the code change to use the registered
>>>>> RestResourceResolver to instantiate any of the objects defined on
>>>>> the @RestResource class.  So any of these can now be defined as Spring
>>>>> beans when using SpringRestResourceResolver.
>>>>>
>>>>> On Wed, Nov 21, 2018 at 2:40 PM Marcelo Souza Vieira <
>>>>> marcelosouzav@gmail.com> wrote:
>>>>>
>>>>>> Ok.
>>>>>> Yes, I'll make the corrections that you indicated. I'm actually
>>>>>> altering it and want to make it work. then I adjust the code to stay
in the
>>>>>> best shape. Glad you're getting the way you were thinking.
>>>>>>
>>>>>> Marcelo
>>>>>>
>>>>>> Em qua, 21 de nov de 2018 14:58, James Bognar <jamesbognar@apache.org
>>>>>> escreveu:
>>>>>>
>>>>>>> I've added the following two methods to RestServlet:
>>>>>>>
>>>>>>>    - setRestResourceResolver(RestResourceResolver)
>>>>>>>    - getPath()
>>>>>>>
>>>>>>> Now you can instantiate any subclass of RestServlet with the
>>>>>>> following code:
>>>>>>>
>>>>>>>    @Bean
>>>>>>>    public RootResources root(RestResourceResolver resolver) {
>>>>>>>       return (RootResources)new
>>>>>>> RootResources().setRestResourceResolver(resolver);
>>>>>>>    }
>>>>>>>
>>>>>>>    @Bean
>>>>>>>    public ServletRegistrationBean<RootResources>
>>>>>>> rootRegistration(RootResources root) {
>>>>>>>       return new ServletRegistrationBean<>(root, CONTEXT_ROOT,
>>>>>>> CONTEXT_ROOT+"/", CONTEXT_ROOT+"/"+root.getPath());
>>>>>>>    }
>>>>>>>
>>>>>>> On Wed, Nov 21, 2018 at 11:07 AM James Bognar <
>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>
>>>>>>>> Awesome work.
>>>>>>>>
>>>>>>>> I have some thoughts.
>>>>>>>>
>>>>>>>> In *@EnabledJuneauIntegration*, you define your root resource
as:
>>>>>>>>    *Class<? extends BasicRestServletJenaGroup> rootResources();*
>>>>>>>> There's no reason why the root has to be a group.  It only
needs to
>>>>>>>> be anything that extends from *RestServlet*.  The groups
are just
>>>>>>>> specialized subclasses of a *RestServlet* that by default
render a
>>>>>>>> list of links to child resources defined via
>>>>>>>> *@RestServlet(children)*.  See *BasicRestServletGroup* for
what I
>>>>>>>> mean.
>>>>>>>> I suggest the following instead:
>>>>>>>>   *Class<? extends RestServlet> resourceClass();*
>>>>>>>>
>>>>>>>> Perhaps you could add *@EnabledJuneauIntegration(path="...")
*to
>>>>>>>> identify the servlet path so that you can identify multiple
resources?  And
>>>>>>>> if not specified, you can default to *@RestResource(path)*?
>>>>>>>>
>>>>>>>> This code assumes your class will have a constructor that
takes in
>>>>>>>> a *RestResourceResolver*:
>>>>>>>> loadConfig.rootResources().getDeclaredConstructor(
>>>>>>>> RestResourceResolver.class).newInstance(resolver);
>>>>>>>> This isn't likely to be true.  Most of the time there will
only be
>>>>>>>> a no-arg constructor (per servlet spec).
>>>>>>>> I can add a *setRestResourceResolver(...)* method to the
>>>>>>>> *RestServlet* class that can be called immediately following
>>>>>>>> construction.  It should simplify this case.
>>>>>>>> loadConfig.rootResources().
>>>>>>>> newInstance().setRestResourceResolver(resolver);
>>>>>>>> It will also eliminate the need to define a RestHook to register
>>>>>>>> the resolver.
>>>>>>>>
>>>>>>>> On a side note, I may want to use the resolver to instantiate
any
>>>>>>>> of the types you can define on the *@RestResource* class
(e.g. *@RestResource(callHandler,
>>>>>>>> classpathResourceFinder, guards, ...)*) so that any of these
can
>>>>>>>> use injection.
>>>>>>>>
>>>>>>>> What currently isn't in place is console support.  i.e. what
shows
>>>>>>>> up on the command line when executing your jar file:
>>>>>>>>    Running class 'RestMicroservice' using config file
>>>>>>>> 'my-microservice.cfg'.
>>>>>>>>    Server started on port 10000
>>>>>>>>    List of available commands:
>>>>>>>>       exit -- Shut down service
>>>>>>>>       restart -- Restarts service
>>>>>>>>       help -- Commands help
>>>>>>>>    >
>>>>>>>> You could get this essentially for free by subclassing and
>>>>>>>> instantiating an instance of the *Microservice* class (e.g.
>>>>>>>> *SpringBootMicroservice*).  The *RestMicroservice* class
extends
>>>>>>>> this base class and adds Jetty support.  You could use it
as an example of
>>>>>>>> how to subclass this class and start/stop it.
>>>>>>>>
>>>>>>>> I think that's it for now.  Exciting stuff!
>>>>>>>>
>>>>>>>> On Tue, Nov 20, 2018 at 8:25 PM Marcelo Souza Vieira <
>>>>>>>> marcelosouzav@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hello guys.
>>>>>>>>>
>>>>>>>>> I am doing some tests to be able to work along with spring-boot.
>>>>>>>>> I made some changes in the structure, I hope you are
walking as
>>>>>>>>> you like.
>>>>>>>>> One of the great features of spring-boot is to be very
simple,
>>>>>>>>> with very little code, so you can upload a server.
>>>>>>>>> Thinking about this, I created the project "
>>>>>>>>> *juneau-microservice-server-springboot*".
>>>>>>>>> In it will stay the entire integration configuration,
avoiding
>>>>>>>>> whoever is doing the integration, need to make the settings
manually.
>>>>>>>>> I created the "*EnabledJuneauIntegration*" annotation
to enable
>>>>>>>>> and start the settings.
>>>>>>>>>
>>>>>>>>> I changed the project "*juneau-examples-rest-springboot*"
to use
>>>>>>>>> this new project.
>>>>>>>>> So when someone else does the integration, just add the
annotation
>>>>>>>>> in this way.
>>>>>>>>>
>>>>>>>>> *@EnabledJuneauIntegration (rootResources = RootResources.class)*
>>>>>>>>>
>>>>>>>>> That all settings will work.
>>>>>>>>>
>>>>>>>>> I was able to go up and call an Juneau endpoint. You're
giving me
>>>>>>>>> some trouble, but I still see it.
>>>>>>>>>
>>>>>>>>> I'm taking a while, because I know little Juneau yet,
so some
>>>>>>>>> configuration mistakes, it takes a while to find.
>>>>>>>>>
>>>>>>>>> It turned out that my branch is getting big, because
as I am
>>>>>>>>> testing things, to see if everything is going to turn
out, it will end up
>>>>>>>>> getting big.
>>>>>>>>> But I'm keeping the branch updated with the master in
Juneau.
>>>>>>>>>
>>>>>>>>> If you want to take a look, it's on the link.
>>>>>>>>>
>>>>>>>>> *https://github.com/marcelosv/juneau/tree/dev-marcelo-v-spring
>>>>>>>>> <https://github.com/marcelosv/juneau/tree/dev-marcelo-v-spring>*
>>>>>>>>>
>>>>>>>>> Marcelo Vieira
>>>>>>>>>
>>>>>>>>>

Mime
View raw message