I'm trying to set up a message queue service for an application I am developing.
I already tried AWS SQS, but it doesn't really fit for our needs, mainly for the issues with the FIFO and the limited message persistence.
So I turned to IronMQ, to see how this could work, but I'm already having issues with the creation of users via java APIs.
There's no class dedicated and it seems nobody cares about that. Does anybody know anything about how to do that? Do I have to write my own APIs?
EDIT: as manveru pointed out, I'm talking about tokens, not users.
Another issue is about setting other permissions than "Admin", but I guess I'll confront it later.
Right now, our API doesn't support creating new access tokens. I think it's something that could be really powerful, though (generate a token per server as part of the build process, for example).
I've created an issue in our global issue tracker. If you like, you can follow that to get a notification when something on this front changes. We have a lot of stuff we're working on right now, so I can't even guess at a timeline, unfortunately. :(
Hope that helps!
Related
I am writing a remote Lotus/Domino NSCO (Notes CORBA API) Java client for reading and writing to a Domino server. The client should roughly be able to act and simulate all the features of Lotus Notes desktop client for a user's mailbox (Mail, Calendar, Tasks).
Those of you experienced with NSCO.jar are probably already aware of many limitations it has. One example is marking a document as read/unread, which isn't implemented with this API. To bypass this, my latest direction is writing a Java Agent on the server side, which would use Java Notes local API to mark a document as read/unread. I can later call this client using the NSCO API. I would like to be able to call this agent for every user (every user has his own database), but I dont like the idea of creating an instance of this agent on each database. According to this, my question is:
- How (if possible) can I register an Agent in Domino so that is available for every user?
Apart from this specific question, I would very much appreciate any links towards good documentation or books on this topic. (I believe I have already browsed through most of online documentation, and it's quite poor or out-of-date so books might be more useful)
Thanks.
Your question is very broad but I will attempt to answer what I can.
First, I don't think you realise the huge task you are attempting to do in simulating the Notes Client.
Much of the functionality in the front end will not be available for you, and creating back end agents to get to that functionality is going to put undue stress on the server. You are going to have to do some serious load testing to see what impact it has.
How (if possible) can I register an Agent in Domino so that is available for every user?
The proper way is to create the agent once in a template and then have the mail files update their design (Admin related help). The agent is then run within each users mail file as they need it. You also need to factor in how the agent runs. For example if you run it scheduled then AMGR may not run it as you expect it to.
If you plan to have one agent you kick off to process all databases, then you start having to deal with security of your agent.
Alternatively you can go the route of DOTS tasklets. These are OSGi bundles which can run like a service on the server.
I would very much appreciate any links towards good documentation or books on this topic.
The help within the Domino Designer client will be the most up to date on the API. The Domino Wiki will have a lot of resource material you are looking for.
Personally I think what you are attempting to achieve with just NCSO is not going to cut it. I would recommend to leverage already existing standards to talk to the server. For example POP3/SMTP/ICAL/RnR/DDS (REST API). Or use iNotes which would have much less overhead then what you are trying to achieve.
I have a chat application in google app engine. I am facing the concurrency issues.
When the chat starts from one end, that chat will broadcast to all available agents in the account. When 1 guy responds that guy will take ownership and remove all the remaining guys in that session.
Here i am facing problem with concurrent requests from more than 1 agent response at the same time. At this point each request takes out the remaining agents in the session and no body is there in the session.
I thought this solves with code synchronization. But with multiple instances doesn't work this logic. Since the code is in different servers.
Is there a way to acheive this make synchronize using datastore/memcache.
Please suggest on this.
Thanks in advance.
Govind.
Look at using CAS with memcache, alternately you can use transactions in the datastore and plan control entities with known keys. I don't use java so can't whip up an example , and I can only find api docs for java on cas
https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/memcache/MemcacheService.CasValues
but the writeup in python would still explain what is going on .
https://developers.google.com/appengine/docs/python/memcache/#Python_Using_compare_and_set_in_Python
I tried this using Transactions. But some reason it wont work out to me. I dont know the reason. But with Memcache increment/decrement we can solve the problem. These methods are atomic. This is simple and optimistic.
Please go through this group
https://groups.google.com/forum/#!topic/google-appengine-java/wtESRwKCF5U
Thanks for your updates.
Govind.
I'm about to embark upon writing an android app which notifies the phone's user when an external mySQL DB is updated (add only) with a ticket so that the user can check if the ticket requires his attention (an attempt to reduce the buildup of tickets that he has to trawl through).
From my research, most questions suggest using a PHP web service with my program (written in java) and definitely/maybe/definitely not/it's deprecated using SQLNotification to fire the event. I've also seen something about some bloke called JSON and the brands of SOAP he uses.
What I've been unable to figure out is how all of these frameworks/toolkits/services/things work together.
My question is in two parts:
Is SQLNotification usable? If not, is there a simple way to check for changes (beyond the obvious answer of polling)
How does everything (SOAP, JSON, web service, app) fit together and have I missed anything on the frameworks front (Heard mentions of spring, hibernate, tomcat).
On my experience, I'm relatively fluent in Java, understand the basics of MySQL, am a beginner in PHP and haven't written for android before.
Thanks,
Ben
According to the information you have provided, seems like you have different options:
Push
If you want to go the push way, you will need some central architecture that can take notifications from the database and immediately send them to connected clients. It's not that easy to build such a scheme, would only recommend it if you really need immediate notification. As a start point, look at this sample: http://www.gianlucaguarini.com/blog/push-notification-server-streaming-on-a-mysql-database/
Pull
If you go the pull way (polling), you can have a service working on the phone wich polls every configured time. In that case you will need some stateless service, some simple JSON service would do great.
On both cases, be careful with security, you should secure your channel with ssl and have some decent sort of authentication.
I think a good rule of thumb is saying (it's just based on personal opinion/experience, maybe your decision path has other factors that you have to consider), if your pollig intervals don't need to be lower than 5 minutes, polling will do fine. If you need almost real-time notifications, you can implement the push architecture, but you have to know it will cost more efford to get it working as you have to take care of things like client disconnection, how to handle notifications if a client is not connected, get the real-time notifications from the database, etc.
Hope this helps as a starting point,
I need to find the coordinates of windows open even when they are not launched by my application, and after some searching I came across quartz window services. However, the reference document I linked to does not mention where this is located, and it was the only document I could find about it. I have looked through other frameworks reference documents, but none of them so much as mention it.
The problem obviously arrises solely out of my own ignorance, and I did not really want to ask. But, I have searched all over the internet, and have been able to find absolutely no reference to the location of quartz windows service.
Where is it? Is it part of a framework, and if so what class is it in? All I know is what functions it contains, and that they look like exactly what I need!
Thank you in advance for any help. Also, if you know how I could figure this out for myself in the future, I would appreciate that as well.
Note: I don't know if it matters, but I am planning to use JNA to call it from Java as opposed to using it from C.
Yeah, that's a little less than obvious. By searching for "Quartz Window Services" I was able to find the link to the overview, such as it is: https://developer.apple.com/library/mac/#documentation/Carbon/Reference/CGWindow_Reference/Reference/Introduction.html
That shows that it's in the ApplicationServices framework.
Well first off, I'm not 100% certain how you're going to access C methods from Java (I've never done it myself), but if it's possible to do the bridging, you can use the Accessibility API in order to get the windows for all of the running applications (see the answer to this related question). Once you have that list of windows, you can get the frame (coordinates) of where each of those windows lives on-screen.
Another thing about using the Accessibility API, the user has to "OPT IN" to allowing it. It's not normally turned on by default.
Here's another question that closely matches yours, but the accepted answer only provides a solution to retrieve the windows for your own (currently running) application.
I'm trying to create a logger for a GWT application as an exercise to evaluate GWT. What I specifically want to do is have it so that I can post messages to a client side label at any point from the server side. So, if some interesting stuff has happened on the server the client can be updated.
My First question is, is this possible, I can understand it not being.
Second, if it is possible, where should I look for information, I've tried google and their documentation and all the showcases have nothing on this.
Thanks
Well, there are a couple of Options. You need to get the data from the server... So you either need to poll the server, or use server push.
Polling is pretty easy. Just use the Timer class to repeatedly call a service to see what value it should be displaying.
Server push is done using something like comet. here is one implementation for gwt that looks somewhat promising. They basic concept behind this is the browser sends a request to the server and keeps the connection open so the server is free to keep sending data back.
Comet is the better option if you can get it working. It will probably be simpler and scale better.
Good Luck!
Polling is probably the best way to do what you're looking for. The big gotcha with GWT is that everything has to be serializable. I'm not sure if anything that can push to the browser can be easily serialized.