Voici donc le code que j'ai jusqu'à présent:Puis-je utiliser un objet distant dans flex pour interroger une classe java sur le serveur (Blazeds)? Je veux retourner l'information en direct dans mon DataGrid
code Flex
<?xml version="1.0" encoding="utf-8"?>
<fx:Declarations>
<s:RemoteObject id="getStockPrices" result="result(event)" destination="blazeDsService"
endpoint="http://localhost:8400/flexspring/messagebroker/streamingamf"/>
</fx:Declarations>
<mx:DataGrid x="10" y="295" width="910" height="211" creationComplete="getStockPrices.getQuotes();"
dataProvider="{getStockPrices.getQuotes.lastResult}" >
<mx:columns>
<mx:DataGridColumn headerText="Stock Ticker" dataField="name" />
<mx:DataGridColumn headerText="Price" dataField="price"/>
<mx:DataGridColumn headerText="Hi" dataField="col3"/>
<mx:DataGridColumn headerText="Low" dataField="col4"/>
<!--<mx:DataGridColumn headerText="Adverage" dataField="col5"/>
<mx:DataGridColumn headerText="Graph" dataField="col6"/>-->
</mx:columns>
</mx:DataGrid>
<mx:Button label="Retrieve Stocks" click="retrieveStocks()"/>
Et c'est la java Fichier de classe. Cela renvoie et arraylist:
package flex;
importer java.util.ArrayList; import java.util.List; import java.util.Random;
import org.springframework.flex.remoting.RemotingDestination; import org.springframework.flex.remoting.RemotingInclude; import org.springframework.stereotype.Service;
import supportingClasses.StockQuote;
@Service
@RemotingDestination
BlazeDsService public class {
private static final String[] MASTER_LIST = {"C", "FNM", "FRE", "F", "GOOG", "AIG", "CSCO", "MSFT", "AAPL", "YHOO", "BSX", "PORT","F", "TNT", "ESP", "RET", "VBN", "EES"};
@RemotingInclude
public List<StockQuote> getQuotes(){
List<StockQuote> list = new ArrayList<StockQuote>();
Random r = new Random();
for (String s:MASTER_LIST){
StockQuote sq = new StockQuote();
sq.setName(s);
sq.setPrice(r.nextInt(50));
list.add(sq);
}
return list;
}
}
A la minute un bouton doit être appuyé pour actualiser les données. Je veux me débarrasser de cela et interroger l'information toutes les x secondes. Cela peut-il être fait?
Dois-je changer de configuration? créer un modèle de publication - abonnement et utiliser des canaux de diffusion?
Merci
Le problème que j'ai avec les échantillons clés en main est qu'il existe dans un fichier WAR. Une fois que vous extrayez ceci, tous les échantillons sont au format swf. Je suis déjà satisfait. Comment puis-je les exécuter dans Eclipse où je peux voir le code source du serveur et du client. Si je pouvais voir les deux côtés du code, je pense que cela répondrait à beaucoup de questions et serait d'une grande aide. Merci pour votre aide (encore une fois!) – Mick
La méthode de minuterie fonctionne bien mais j'aimerais vraiment que ces échantillons fonctionnent. – Mick
vous pouvez trouver le code source pour le côté flex et java sur les emplacements suivants: \ votre_blaze_archive \ tomcat \ webapps \ samples \ web-inf \ flex-src et \ votre_blaze_archive \ tomcat \ webapps \ samples \ web-inf \ src Pas sûr pourquoi avoir ce genre de structure de dossier de toute façon. –